diff --git a/.gitignore b/.gitignore
index dcc5b36..0cb6eeb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,23 +1,9 @@
-# See https://help.github.com/articles/ignoring-files for more about ignoring files.
-#
-# If you find yourself ignoring temporary files generated by your text editor
-# or operating system, you probably want to add a global ignore instead:
-# git config --global core.excludesfile '~/.gitignore_global'
-
-# Ignore bundler config.
-/.bundle
-
-# Ignore the default SQLite database.
-/db/*.sqlite3
-/db/*.sqlite3-journal
-
-# Ignore all logfiles and tempfiles.
-/log/*
-/tmp/*
-!/log/.keep
-!/tmp/.keep
-
-/node_modules
-/yarn-error.log
-
-.byebug_history
+/.bundle/
+/.yardoc
+/Gemfile.lock
+/_yardoc/
+/coverage/
+/doc/
+/pkg/
+/spec/reports/
+/tmp/
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..3c3c9aa
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,5 @@
+sudo: false
+language: ruby
+rvm:
+ - 2.4.1
+before_install: gem install bundler -v 1.15.3
diff --git a/Gemfile b/Gemfile
index 1080d03..5231162 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,57 +1,10 @@
-source 'https://rubygems.org'
-
-gem 'mm2ep_core',
- begin
- if File.exist? '../mm2ep_core' then
- { path: '../mm2ep_core' }
- else
- { git: 'https://bitbucket.org/datatransition_/mm2ep_core.git',
- tag: 'v0.7.4'
- }
- end
- end
-
-
-# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
-gem 'rails', '~> 5.1.2'
-# Use sqlite3 as the database for Active Record
-gem 'sqlite3'
-# Use Puma as the app server
-gem 'puma', '~> 3.7'
-# Use SCSS for stylesheets
-gem 'sass-rails', '~> 5.0'
-# Use Uglifier as compressor for JavaScript assets
-gem 'uglifier', '>= 1.3.0'
-# See https://github.com/rails/execjs#readme for more supported runtimes
-# gem 'therubyracer', platforms: :ruby
-
-# Use CoffeeScript for .coffee assets and views
-gem 'coffee-rails', '~> 4.2'
-# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
-gem 'turbolinks', '~> 5'
-# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
-gem 'jbuilder', '~> 2.5'
+source "https://rubygems.org"
+git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
gem 'thor'
gem 'rly'
gem 'pry'
-group :development, :test do
- # Call 'byebug' anywhere in the code to stop execution and get a debugger console
- gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
- # Adds support for Capybara system testing and selenium driver
- gem 'capybara', '~> 2.13'
- gem 'selenium-webdriver'
-end
-group :development do
- # Access an IRB console on exception pages or by using <%= console %> anywhere in the code.
- gem 'web-console', '>= 3.3.0'
- gem 'listen', '>= 3.0.5', '< 3.2'
- # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
- gem 'spring'
- gem 'spring-watcher-listen', '~> 2.0.0'
-end
-
-# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
-gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
+# Specify your gem's dependencies in mm2ep_depend.gemspec
+gemspec
diff --git a/Gemfile.lock b/Gemfile.lock
index baaa294..7ccf723 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,216 +1,34 @@
PATH
- remote: ../mm2ep_core
+ remote: .
specs:
- mm2ep_core (0.7.9.pre.dev)
- nokogiri
- thor
- word_wrap
+ mm2ep_depend (0.1.0)
GEM
remote: https://rubygems.org/
specs:
- actioncable (5.1.3)
- actionpack (= 5.1.3)
- nio4r (~> 2.0)
- websocket-driver (~> 0.6.1)
- actionmailer (5.1.3)
- actionpack (= 5.1.3)
- actionview (= 5.1.3)
- activejob (= 5.1.3)
- mail (~> 2.5, >= 2.5.4)
- rails-dom-testing (~> 2.0)
- actionpack (5.1.3)
- actionview (= 5.1.3)
- activesupport (= 5.1.3)
- rack (~> 2.0)
- rack-test (~> 0.6.3)
- rails-dom-testing (~> 2.0)
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
- actionview (5.1.3)
- activesupport (= 5.1.3)
- builder (~> 3.1)
- erubi (~> 1.4)
- rails-dom-testing (~> 2.0)
- rails-html-sanitizer (~> 1.0, >= 1.0.3)
- activejob (5.1.3)
- activesupport (= 5.1.3)
- globalid (>= 0.3.6)
- activemodel (5.1.3)
- activesupport (= 5.1.3)
- activerecord (5.1.3)
- activemodel (= 5.1.3)
- activesupport (= 5.1.3)
- arel (~> 8.0)
- activesupport (5.1.3)
- concurrent-ruby (~> 1.0, >= 1.0.2)
- i18n (~> 0.7)
- minitest (~> 5.1)
- tzinfo (~> 1.1)
- addressable (2.5.2)
- public_suffix (>= 2.0.2, < 4.0)
- arel (8.0.0)
- bindex (0.5.0)
- builder (3.2.3)
- byebug (9.1.0)
- capybara (2.15.1)
- addressable
- mini_mime (>= 0.1.3)
- nokogiri (>= 1.3.3)
- rack (>= 1.0.0)
- rack-test (>= 0.5.4)
- xpath (~> 2.0)
- childprocess (0.7.1)
- ffi (~> 1.0, >= 1.0.11)
coderay (1.1.1)
- coffee-rails (4.2.2)
- coffee-script (>= 2.2.0)
- railties (>= 4.0.0)
- coffee-script (2.4.1)
- coffee-script-source
- execjs
- coffee-script-source (1.12.2)
- concurrent-ruby (1.0.5)
- erubi (1.6.1)
- execjs (2.7.0)
- ffi (1.9.18)
- globalid (0.4.0)
- activesupport (>= 4.2.0)
- i18n (0.8.6)
- jbuilder (2.7.0)
- activesupport (>= 4.2.0)
- multi_json (>= 1.2)
- listen (3.1.5)
- rb-fsevent (~> 0.9, >= 0.9.4)
- rb-inotify (~> 0.9, >= 0.9.7)
- ruby_dep (~> 1.2)
- loofah (2.0.3)
- nokogiri (>= 1.5.9)
- mail (2.6.6)
- mime-types (>= 1.16, < 4)
method_source (0.8.2)
- mime-types (3.1)
- mime-types-data (~> 3.2015)
- mime-types-data (3.2016.0521)
- mini_mime (0.1.4)
- mini_portile2 (2.2.0)
minitest (5.10.3)
- multi_json (1.12.1)
- nio4r (2.1.0)
- nokogiri (1.8.0)
- mini_portile2 (~> 2.2.0)
pry (0.10.4)
coderay (~> 1.1.0)
method_source (~> 0.8.1)
slop (~> 3.4)
- public_suffix (3.0.0)
- puma (3.10.0)
- rack (2.0.3)
- rack-test (0.6.3)
- rack (>= 1.0)
- rails (5.1.3)
- actioncable (= 5.1.3)
- actionmailer (= 5.1.3)
- actionpack (= 5.1.3)
- actionview (= 5.1.3)
- activejob (= 5.1.3)
- activemodel (= 5.1.3)
- activerecord (= 5.1.3)
- activesupport (= 5.1.3)
- bundler (>= 1.3.0)
- railties (= 5.1.3)
- sprockets-rails (>= 2.0.0)
- rails-dom-testing (2.0.3)
- activesupport (>= 4.2.0)
- nokogiri (>= 1.6)
- rails-html-sanitizer (1.0.3)
- loofah (~> 2.0)
- railties (5.1.3)
- actionpack (= 5.1.3)
- activesupport (= 5.1.3)
- method_source
- rake (>= 0.8.7)
- thor (>= 0.18.1, < 2.0)
- rake (12.0.0)
- rb-fsevent (0.10.2)
- rb-inotify (0.9.10)
- ffi (>= 0.5.0, < 2)
+ rake (10.5.0)
rly (0.2.3)
- ruby_dep (1.5.0)
- rubyzip (1.2.1)
- sass (3.5.1)
- sass-listen (~> 4.0.0)
- sass-listen (4.0.0)
- rb-fsevent (~> 0.9, >= 0.9.4)
- rb-inotify (~> 0.9, >= 0.9.7)
- sass-rails (5.0.6)
- railties (>= 4.0.0, < 6)
- sass (~> 3.1)
- sprockets (>= 2.8, < 4.0)
- sprockets-rails (>= 2.0, < 4.0)
- tilt (>= 1.1, < 3)
- selenium-webdriver (3.5.1)
- childprocess (~> 0.5)
- rubyzip (~> 1.0)
slop (3.6.0)
- spring (2.0.2)
- activesupport (>= 4.2)
- spring-watcher-listen (2.0.1)
- listen (>= 2.7, < 4.0)
- spring (>= 1.2, < 3.0)
- sprockets (3.7.1)
- concurrent-ruby (~> 1.0)
- rack (> 1, < 3)
- sprockets-rails (3.2.1)
- actionpack (>= 4.0)
- activesupport (>= 4.0)
- sprockets (>= 3.0.0)
- sqlite3 (1.3.13)
thor (0.20.0)
- thread_safe (0.3.6)
- tilt (2.0.8)
- turbolinks (5.0.1)
- turbolinks-source (~> 5)
- turbolinks-source (5.0.3)
- tzinfo (1.2.3)
- thread_safe (~> 0.1)
- uglifier (3.2.0)
- execjs (>= 0.3.0, < 3)
- web-console (3.5.1)
- actionview (>= 5.0)
- activemodel (>= 5.0)
- bindex (>= 0.4.0)
- railties (>= 5.0)
- websocket-driver (0.6.5)
- websocket-extensions (>= 0.1.0)
- websocket-extensions (0.1.2)
- word_wrap (1.0.0)
- xpath (2.1.0)
- nokogiri (~> 1.3)
PLATFORMS
ruby
DEPENDENCIES
- byebug
- capybara (~> 2.13)
- coffee-rails (~> 4.2)
- jbuilder (~> 2.5)
- listen (>= 3.0.5, < 3.2)
- mm2ep_core!
+ bundler (~> 1.15)
+ minitest (~> 5.0)
+ mm2ep_depend!
pry
- puma (~> 3.7)
- rails (~> 5.1.2)
+ rake (~> 10.0)
rly
- sass-rails (~> 5.0)
- selenium-webdriver
- spring
- spring-watcher-listen (~> 2.0.0)
- sqlite3
thor
- turbolinks (~> 5)
- tzinfo-data
- uglifier (>= 1.3.0)
- web-console (>= 3.3.0)
BUNDLED WITH
1.15.3
diff --git a/LICENSE.txt b/LICENSE.txt
new file mode 100644
index 0000000..8d67df0
--- /dev/null
+++ b/LICENSE.txt
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2017 Roguelearg
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/README.md b/README.md
index 7db80e4..35ff9ba 100644
--- a/README.md
+++ b/README.md
@@ -1,24 +1,39 @@
-# README
+# Mm2epDepend
-This README would normally document whatever steps are necessary to get the
-application up and running.
+Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/mm2ep_depend`. To experiment with that code, run `bin/console` for an interactive prompt.
-Things you may want to cover:
+TODO: Delete this and the text above, and describe your gem
-* Ruby version
+## Installation
-* System dependencies
+Add this line to your application's Gemfile:
-* Configuration
+```ruby
+gem 'mm2ep_depend'
+```
-* Database creation
+And then execute:
-* Database initialization
+ $ bundle
-* How to run the test suite
+Or install it yourself as:
-* Services (job queues, cache servers, search engines, etc.)
+ $ gem install mm2ep_depend
-* Deployment instructions
+## Usage
-* ...
+TODO: Write usage instructions here
+
+## Development
+
+After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
+
+To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
+
+## Contributing
+
+Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/mm2ep_depend.
+
+## License
+
+The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
diff --git a/Rakefile b/Rakefile
index e85f913..d433a1e 100644
--- a/Rakefile
+++ b/Rakefile
@@ -1,6 +1,10 @@
-# Add your own tasks in files placed in lib/tasks ending in .rake,
-# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
+require "bundler/gem_tasks"
+require "rake/testtask"
-require_relative 'config/application'
+Rake::TestTask.new(:test) do |t|
+ t.libs << "test"
+ t.libs << "lib"
+ t.test_files = FileList["test/**/*_test.rb"]
+end
-Rails.application.load_tasks
+task :default => :test
diff --git a/app/assets/config/manifest.js b/app/assets/config/manifest.js
deleted file mode 100644
index b16e53d..0000000
--- a/app/assets/config/manifest.js
+++ /dev/null
@@ -1,3 +0,0 @@
-//= link_tree ../images
-//= link_directory ../javascripts .js
-//= link_directory ../stylesheets .css
diff --git a/app/assets/images/.keep b/app/assets/images/.keep
deleted file mode 100644
index e69de29..0000000
diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js
deleted file mode 100644
index 46b2035..0000000
--- a/app/assets/javascripts/application.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// This is a manifest file that'll be compiled into application.js, which will include all the files
-// listed below.
-//
-// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, or any plugin's
-// vendor/assets/javascripts directory can be referenced here using a relative path.
-//
-// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
-// compiled file. JavaScript code in this file should be added after the last require_* statement.
-//
-// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
-// about supported directives.
-//
-//= require rails-ujs
-//= require turbolinks
-//= require_tree .
diff --git a/app/assets/javascripts/cable.js b/app/assets/javascripts/cable.js
deleted file mode 100644
index 739aa5f..0000000
--- a/app/assets/javascripts/cable.js
+++ /dev/null
@@ -1,13 +0,0 @@
-// Action Cable provides the framework to deal with WebSockets in Rails.
-// You can generate new channels where WebSocket features live using the `rails generate channel` command.
-//
-//= require action_cable
-//= require_self
-//= require_tree ./channels
-
-(function() {
- this.App || (this.App = {});
-
- App.cable = ActionCable.createConsumer();
-
-}).call(this);
diff --git a/app/assets/javascripts/channels/.keep b/app/assets/javascripts/channels/.keep
deleted file mode 100644
index e69de29..0000000
diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css
deleted file mode 100644
index d05ea0f..0000000
--- a/app/assets/stylesheets/application.css
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
- * This is a manifest file that'll be compiled into application.css, which will include all the files
- * listed below.
- *
- * Any CSS and SCSS file within this directory, lib/assets/stylesheets, or any plugin's
- * vendor/assets/stylesheets directory can be referenced here using a relative path.
- *
- * You're free to add application-wide styles to this file and they'll appear at the bottom of the
- * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
- * files in this directory. Styles in this file should be added after the last require_* statement.
- * It is generally better to create a new file per style scope.
- *
- *= require_tree .
- *= require_self
- */
diff --git a/app/channels/application_cable/channel.rb b/app/channels/application_cable/channel.rb
deleted file mode 100644
index d672697..0000000
--- a/app/channels/application_cable/channel.rb
+++ /dev/null
@@ -1,4 +0,0 @@
-module ApplicationCable
- class Channel < ActionCable::Channel::Base
- end
-end
diff --git a/app/channels/application_cable/connection.rb b/app/channels/application_cable/connection.rb
deleted file mode 100644
index 0ff5442..0000000
--- a/app/channels/application_cable/connection.rb
+++ /dev/null
@@ -1,4 +0,0 @@
-module ApplicationCable
- class Connection < ActionCable::Connection::Base
- end
-end
diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
deleted file mode 100644
index 1c07694..0000000
--- a/app/controllers/application_controller.rb
+++ /dev/null
@@ -1,3 +0,0 @@
-class ApplicationController < ActionController::Base
- protect_from_forgery with: :exception
-end
diff --git a/app/controllers/concerns/.keep b/app/controllers/concerns/.keep
deleted file mode 100644
index e69de29..0000000
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
deleted file mode 100644
index de6be79..0000000
--- a/app/helpers/application_helper.rb
+++ /dev/null
@@ -1,2 +0,0 @@
-module ApplicationHelper
-end
diff --git a/app/jobs/application_job.rb b/app/jobs/application_job.rb
deleted file mode 100644
index a009ace..0000000
--- a/app/jobs/application_job.rb
+++ /dev/null
@@ -1,2 +0,0 @@
-class ApplicationJob < ActiveJob::Base
-end
diff --git a/app/mailers/application_mailer.rb b/app/mailers/application_mailer.rb
deleted file mode 100644
index 286b223..0000000
--- a/app/mailers/application_mailer.rb
+++ /dev/null
@@ -1,4 +0,0 @@
-class ApplicationMailer < ActionMailer::Base
- default from: 'from@example.com'
- layout 'mailer'
-end
diff --git a/app/models/application_record.rb b/app/models/application_record.rb
deleted file mode 100644
index 10a4cba..0000000
--- a/app/models/application_record.rb
+++ /dev/null
@@ -1,3 +0,0 @@
-class ApplicationRecord < ActiveRecord::Base
- self.abstract_class = true
-end
diff --git a/app/models/concerns/.keep b/app/models/concerns/.keep
deleted file mode 100644
index e69de29..0000000
diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb
deleted file mode 100644
index c5f5a43..0000000
--- a/app/views/layouts/application.html.erb
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
- Mm2epDepend
- <%= csrf_meta_tags %>
-
- <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
- <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
-
-
-
- <%= yield %>
-
-
diff --git a/app/views/layouts/mailer.html.erb b/app/views/layouts/mailer.html.erb
deleted file mode 100644
index cbd34d2..0000000
--- a/app/views/layouts/mailer.html.erb
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
- <%= yield %>
-
-
diff --git a/app/views/layouts/mailer.text.erb b/app/views/layouts/mailer.text.erb
deleted file mode 100644
index 37f0bdd..0000000
--- a/app/views/layouts/mailer.text.erb
+++ /dev/null
@@ -1 +0,0 @@
-<%= yield %>
diff --git a/bin/bundle b/bin/bundle
deleted file mode 100755
index 66e9889..0000000
--- a/bin/bundle
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/env ruby
-ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
-load Gem.bin_path('bundler', 'bundle')
diff --git a/bin/console b/bin/console
new file mode 100755
index 0000000..d4b2326
--- /dev/null
+++ b/bin/console
@@ -0,0 +1,14 @@
+#!/usr/bin/env ruby
+
+require "bundler/setup"
+require "mm2ep_depend"
+
+# You can add fixtures and/or initialization code here to make experimenting
+# with your gem easier. You can also use a different console, if you like.
+
+# (If you use this, don't forget to add pry to your Gemfile!)
+# require "pry"
+# Pry.start
+
+require "irb"
+IRB.start(__FILE__)
diff --git a/bin/rails b/bin/rails
deleted file mode 100755
index 5badb2f..0000000
--- a/bin/rails
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/usr/bin/env ruby
-begin
- load File.expand_path('../spring', __FILE__)
-rescue LoadError => e
- raise unless e.message.include?('spring')
-end
-APP_PATH = File.expand_path('../config/application', __dir__)
-require_relative '../config/boot'
-require 'rails/commands'
diff --git a/bin/rake b/bin/rake
deleted file mode 100755
index d87d5f5..0000000
--- a/bin/rake
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/usr/bin/env ruby
-begin
- load File.expand_path('../spring', __FILE__)
-rescue LoadError => e
- raise unless e.message.include?('spring')
-end
-require_relative '../config/boot'
-require 'rake'
-Rake.application.run
diff --git a/bin/setup b/bin/setup
index 78c4e86..dce67d8 100755
--- a/bin/setup
+++ b/bin/setup
@@ -1,38 +1,8 @@
-#!/usr/bin/env ruby
-require 'pathname'
-require 'fileutils'
-include FileUtils
+#!/usr/bin/env bash
+set -euo pipefail
+IFS=$'\n\t'
+set -vx
-# path to your application root.
-APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
+bundle install
-def system!(*args)
- system(*args) || abort("\n== Command #{args} failed ==")
-end
-
-chdir APP_ROOT do
- # This script is a starting point to setup your application.
- # Add necessary setup steps to this file.
-
- puts '== Installing dependencies =='
- system! 'gem install bundler --conservative'
- system('bundle check') || system!('bundle install')
-
- # Install JavaScript dependencies if using Yarn
- # system('bin/yarn')
-
-
- # puts "\n== Copying sample files =="
- # unless File.exist?('config/database.yml')
- # cp 'config/database.yml.sample', 'config/database.yml'
- # end
-
- puts "\n== Preparing database =="
- system! 'bin/rails db:setup'
-
- puts "\n== Removing old logs and tempfiles =="
- system! 'bin/rails log:clear tmp:clear'
-
- puts "\n== Restarting application server =="
- system! 'bin/rails restart'
-end
+# Do any other automated setup that you need to do here
diff --git a/bin/spring b/bin/spring
deleted file mode 100755
index fb2ec2e..0000000
--- a/bin/spring
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/usr/bin/env ruby
-
-# This file loads spring without using Bundler, in order to be fast.
-# It gets overwritten when you run the `spring binstub` command.
-
-unless defined?(Spring)
- require 'rubygems'
- require 'bundler'
-
- lockfile = Bundler::LockfileParser.new(Bundler.default_lockfile.read)
- spring = lockfile.specs.detect { |spec| spec.name == "spring" }
- if spring
- Gem.use_paths Gem.dir, Bundler.bundle_path.to_s, *Gem.path
- gem 'spring', spring.version
- require 'spring/binstub'
- end
-end
diff --git a/bin/update b/bin/update
deleted file mode 100755
index a8e4462..0000000
--- a/bin/update
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/usr/bin/env ruby
-require 'pathname'
-require 'fileutils'
-include FileUtils
-
-# path to your application root.
-APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
-
-def system!(*args)
- system(*args) || abort("\n== Command #{args} failed ==")
-end
-
-chdir APP_ROOT do
- # This script is a way to update your development environment automatically.
- # Add necessary update steps to this file.
-
- puts '== Installing dependencies =='
- system! 'gem install bundler --conservative'
- system('bundle check') || system!('bundle install')
-
- puts "\n== Updating database =="
- system! 'bin/rails db:migrate'
-
- puts "\n== Removing old logs and tempfiles =="
- system! 'bin/rails log:clear tmp:clear'
-
- puts "\n== Restarting application server =="
- system! 'bin/rails restart'
-end
diff --git a/bin/yarn b/bin/yarn
deleted file mode 100755
index c2bacef..0000000
--- a/bin/yarn
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/usr/bin/env ruby
-VENDOR_PATH = File.expand_path('..', __dir__)
-Dir.chdir(VENDOR_PATH) do
- begin
- exec "yarnpkg #{ARGV.join(" ")}"
- rescue Errno::ENOENT
- $stderr.puts "Yarn executable was not detected in the system."
- $stderr.puts "Download Yarn at https://yarnpkg.com/en/docs/install"
- exit 1
- end
-end
diff --git a/config.ru b/config.ru
deleted file mode 100644
index f7ba0b5..0000000
--- a/config.ru
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file is used by Rack-based servers to start the application.
-
-require_relative 'config/environment'
-
-run Rails.application
diff --git a/config/application.rb b/config/application.rb
deleted file mode 100644
index e4ba07f..0000000
--- a/config/application.rb
+++ /dev/null
@@ -1,18 +0,0 @@
-require_relative 'boot'
-
-require 'rails/all'
-
-# Require the gems listed in Gemfile, including any gems
-# you've limited to :test, :development, or :production.
-Bundler.require(*Rails.groups)
-
-module Mm2epDepend
- class Application < Rails::Application
- # Initialize configuration defaults for originally generated Rails version.
- config.load_defaults 5.1
-
- # Settings in config/environments/* take precedence over those specified here.
- # Application configuration should go into files in config/initializers
- # -- all .rb files in that directory are automatically loaded.
- end
-end
diff --git a/config/boot.rb b/config/boot.rb
deleted file mode 100644
index 30f5120..0000000
--- a/config/boot.rb
+++ /dev/null
@@ -1,3 +0,0 @@
-ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
-
-require 'bundler/setup' # Set up gems listed in the Gemfile.
diff --git a/config/cable.yml b/config/cable.yml
deleted file mode 100644
index 5557781..0000000
--- a/config/cable.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-development:
- adapter: async
-
-test:
- adapter: async
-
-production:
- adapter: redis
- url: redis://localhost:6379/1
- channel_prefix: mm2ep_depend_production
diff --git a/config/database.yml b/config/database.yml
deleted file mode 100644
index 0d02f24..0000000
--- a/config/database.yml
+++ /dev/null
@@ -1,25 +0,0 @@
-# SQLite version 3.x
-# gem install sqlite3
-#
-# Ensure the SQLite 3 gem is defined in your Gemfile
-# gem 'sqlite3'
-#
-default: &default
- adapter: sqlite3
- pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
- timeout: 5000
-
-development:
- <<: *default
- database: db/development.sqlite3
-
-# Warning: The database defined as "test" will be erased and
-# re-generated from your development database when you run "rake".
-# Do not set this db to the same as development or production.
-test:
- <<: *default
- database: db/test.sqlite3
-
-production:
- <<: *default
- database: db/production.sqlite3
diff --git a/config/environment.rb b/config/environment.rb
deleted file mode 100644
index 426333b..0000000
--- a/config/environment.rb
+++ /dev/null
@@ -1,5 +0,0 @@
-# Load the Rails application.
-require_relative 'application'
-
-# Initialize the Rails application.
-Rails.application.initialize!
diff --git a/config/environments/development.rb b/config/environments/development.rb
deleted file mode 100644
index 5187e22..0000000
--- a/config/environments/development.rb
+++ /dev/null
@@ -1,54 +0,0 @@
-Rails.application.configure do
- # Settings specified here will take precedence over those in config/application.rb.
-
- # In the development environment your application's code is reloaded on
- # every request. This slows down response time but is perfect for development
- # since you don't have to restart the web server when you make code changes.
- config.cache_classes = false
-
- # Do not eager load code on boot.
- config.eager_load = false
-
- # Show full error reports.
- config.consider_all_requests_local = true
-
- # Enable/disable caching. By default caching is disabled.
- if Rails.root.join('tmp/caching-dev.txt').exist?
- config.action_controller.perform_caching = true
-
- config.cache_store = :memory_store
- config.public_file_server.headers = {
- 'Cache-Control' => "public, max-age=#{2.days.seconds.to_i}"
- }
- else
- config.action_controller.perform_caching = false
-
- config.cache_store = :null_store
- end
-
- # Don't care if the mailer can't send.
- config.action_mailer.raise_delivery_errors = false
-
- config.action_mailer.perform_caching = false
-
- # Print deprecation notices to the Rails logger.
- config.active_support.deprecation = :log
-
- # Raise an error on page load if there are pending migrations.
- config.active_record.migration_error = :page_load
-
- # Debug mode disables concatenation and preprocessing of assets.
- # This option may cause significant delays in view rendering with a large
- # number of complex assets.
- config.assets.debug = true
-
- # Suppress logger output for asset requests.
- config.assets.quiet = true
-
- # Raises error for missing translations
- # config.action_view.raise_on_missing_translations = true
-
- # Use an evented file watcher to asynchronously detect changes in source code,
- # routes, locales, etc. This feature depends on the listen gem.
- config.file_watcher = ActiveSupport::EventedFileUpdateChecker
-end
diff --git a/config/environments/production.rb b/config/environments/production.rb
deleted file mode 100644
index 62b3882..0000000
--- a/config/environments/production.rb
+++ /dev/null
@@ -1,91 +0,0 @@
-Rails.application.configure do
- # Settings specified here will take precedence over those in config/application.rb.
-
- # Code is not reloaded between requests.
- config.cache_classes = true
-
- # Eager load code on boot. This eager loads most of Rails and
- # your application in memory, allowing both threaded web servers
- # and those relying on copy on write to perform better.
- # Rake tasks automatically ignore this option for performance.
- config.eager_load = true
-
- # Full error reports are disabled and caching is turned on.
- config.consider_all_requests_local = false
- config.action_controller.perform_caching = true
-
- # Attempt to read encrypted secrets from `config/secrets.yml.enc`.
- # Requires an encryption key in `ENV["RAILS_MASTER_KEY"]` or
- # `config/secrets.yml.key`.
- config.read_encrypted_secrets = true
-
- # Disable serving static files from the `/public` folder by default since
- # Apache or NGINX already handles this.
- config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?
-
- # Compress JavaScripts and CSS.
- config.assets.js_compressor = :uglifier
- # config.assets.css_compressor = :sass
-
- # Do not fallback to assets pipeline if a precompiled asset is missed.
- config.assets.compile = false
-
- # `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb
-
- # Enable serving of images, stylesheets, and JavaScripts from an asset server.
- # config.action_controller.asset_host = 'http://assets.example.com'
-
- # Specifies the header that your server uses for sending files.
- # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache
- # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX
-
- # Mount Action Cable outside main process or domain
- # config.action_cable.mount_path = nil
- # config.action_cable.url = 'wss://example.com/cable'
- # config.action_cable.allowed_request_origins = [ 'http://example.com', /http:\/\/example.*/ ]
-
- # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
- # config.force_ssl = true
-
- # Use the lowest log level to ensure availability of diagnostic information
- # when problems arise.
- config.log_level = :debug
-
- # Prepend all log lines with the following tags.
- config.log_tags = [ :request_id ]
-
- # Use a different cache store in production.
- # config.cache_store = :mem_cache_store
-
- # Use a real queuing backend for Active Job (and separate queues per environment)
- # config.active_job.queue_adapter = :resque
- # config.active_job.queue_name_prefix = "mm2ep_depend_#{Rails.env}"
- config.action_mailer.perform_caching = false
-
- # Ignore bad email addresses and do not raise email delivery errors.
- # Set this to true and configure the email server for immediate delivery to raise delivery errors.
- # config.action_mailer.raise_delivery_errors = false
-
- # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
- # the I18n.default_locale when a translation cannot be found).
- config.i18n.fallbacks = true
-
- # Send deprecation notices to registered listeners.
- config.active_support.deprecation = :notify
-
- # Use default logging formatter so that PID and timestamp are not suppressed.
- config.log_formatter = ::Logger::Formatter.new
-
- # Use a different logger for distributed setups.
- # require 'syslog/logger'
- # config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new 'app-name')
-
- if ENV["RAILS_LOG_TO_STDOUT"].present?
- logger = ActiveSupport::Logger.new(STDOUT)
- logger.formatter = config.log_formatter
- config.logger = ActiveSupport::TaggedLogging.new(logger)
- end
-
- # Do not dump schema after migrations.
- config.active_record.dump_schema_after_migration = false
-end
diff --git a/config/environments/test.rb b/config/environments/test.rb
deleted file mode 100644
index 8e5cbde..0000000
--- a/config/environments/test.rb
+++ /dev/null
@@ -1,42 +0,0 @@
-Rails.application.configure do
- # Settings specified here will take precedence over those in config/application.rb.
-
- # The test environment is used exclusively to run your application's
- # test suite. You never need to work with it otherwise. Remember that
- # your test database is "scratch space" for the test suite and is wiped
- # and recreated between test runs. Don't rely on the data there!
- config.cache_classes = true
-
- # Do not eager load code on boot. This avoids loading your whole application
- # just for the purpose of running a single test. If you are using a tool that
- # preloads Rails for running tests, you may have to set it to true.
- config.eager_load = false
-
- # Configure public file server for tests with Cache-Control for performance.
- config.public_file_server.enabled = true
- config.public_file_server.headers = {
- 'Cache-Control' => "public, max-age=#{1.hour.seconds.to_i}"
- }
-
- # Show full error reports and disable caching.
- config.consider_all_requests_local = true
- config.action_controller.perform_caching = false
-
- # Raise exceptions instead of rendering exception templates.
- config.action_dispatch.show_exceptions = false
-
- # Disable request forgery protection in test environment.
- config.action_controller.allow_forgery_protection = false
- config.action_mailer.perform_caching = false
-
- # Tell Action Mailer not to deliver emails to the real world.
- # The :test delivery method accumulates sent emails in the
- # ActionMailer::Base.deliveries array.
- config.action_mailer.delivery_method = :test
-
- # Print deprecation notices to the stderr.
- config.active_support.deprecation = :stderr
-
- # Raises error for missing translations
- # config.action_view.raise_on_missing_translations = true
-end
diff --git a/config/initializers/application_controller_renderer.rb b/config/initializers/application_controller_renderer.rb
deleted file mode 100644
index 51639b6..0000000
--- a/config/initializers/application_controller_renderer.rb
+++ /dev/null
@@ -1,6 +0,0 @@
-# Be sure to restart your server when you modify this file.
-
-# ApplicationController.renderer.defaults.merge!(
-# http_host: 'example.org',
-# https: false
-# )
diff --git a/config/initializers/assets.rb b/config/initializers/assets.rb
deleted file mode 100644
index 4b828e8..0000000
--- a/config/initializers/assets.rb
+++ /dev/null
@@ -1,14 +0,0 @@
-# Be sure to restart your server when you modify this file.
-
-# Version of your assets, change this if you want to expire all your assets.
-Rails.application.config.assets.version = '1.0'
-
-# Add additional assets to the asset load path.
-# Rails.application.config.assets.paths << Emoji.images_path
-# Add Yarn node_modules folder to the asset load path.
-Rails.application.config.assets.paths << Rails.root.join('node_modules')
-
-# Precompile additional assets.
-# application.js, application.css, and all non-JS/CSS in the app/assets
-# folder are already added.
-# Rails.application.config.assets.precompile += %w( admin.js admin.css )
diff --git a/config/initializers/backtrace_silencers.rb b/config/initializers/backtrace_silencers.rb
deleted file mode 100644
index 59385cd..0000000
--- a/config/initializers/backtrace_silencers.rb
+++ /dev/null
@@ -1,7 +0,0 @@
-# Be sure to restart your server when you modify this file.
-
-# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
-# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
-
-# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
-# Rails.backtrace_cleaner.remove_silencers!
diff --git a/config/initializers/cookies_serializer.rb b/config/initializers/cookies_serializer.rb
deleted file mode 100644
index 5a6a32d..0000000
--- a/config/initializers/cookies_serializer.rb
+++ /dev/null
@@ -1,5 +0,0 @@
-# Be sure to restart your server when you modify this file.
-
-# Specify a serializer for the signed and encrypted cookie jars.
-# Valid options are :json, :marshal, and :hybrid.
-Rails.application.config.action_dispatch.cookies_serializer = :json
diff --git a/config/initializers/filter_parameter_logging.rb b/config/initializers/filter_parameter_logging.rb
deleted file mode 100644
index 4a994e1..0000000
--- a/config/initializers/filter_parameter_logging.rb
+++ /dev/null
@@ -1,4 +0,0 @@
-# Be sure to restart your server when you modify this file.
-
-# Configure sensitive parameters which will be filtered from the log file.
-Rails.application.config.filter_parameters += [:password]
diff --git a/config/initializers/inflections.rb b/config/initializers/inflections.rb
deleted file mode 100644
index ac033bf..0000000
--- a/config/initializers/inflections.rb
+++ /dev/null
@@ -1,16 +0,0 @@
-# Be sure to restart your server when you modify this file.
-
-# Add new inflection rules using the following format. Inflections
-# are locale specific, and you may define rules for as many different
-# locales as you wish. All of these examples are active by default:
-# ActiveSupport::Inflector.inflections(:en) do |inflect|
-# inflect.plural /^(ox)$/i, '\1en'
-# inflect.singular /^(ox)en/i, '\1'
-# inflect.irregular 'person', 'people'
-# inflect.uncountable %w( fish sheep )
-# end
-
-# These inflection rules are supported but not enabled by default:
-# ActiveSupport::Inflector.inflections(:en) do |inflect|
-# inflect.acronym 'RESTful'
-# end
diff --git a/config/initializers/mime_types.rb b/config/initializers/mime_types.rb
deleted file mode 100644
index dc18996..0000000
--- a/config/initializers/mime_types.rb
+++ /dev/null
@@ -1,4 +0,0 @@
-# Be sure to restart your server when you modify this file.
-
-# Add new mime types for use in respond_to blocks:
-# Mime::Type.register "text/richtext", :rtf
diff --git a/config/initializers/wrap_parameters.rb b/config/initializers/wrap_parameters.rb
deleted file mode 100644
index bbfc396..0000000
--- a/config/initializers/wrap_parameters.rb
+++ /dev/null
@@ -1,14 +0,0 @@
-# Be sure to restart your server when you modify this file.
-
-# This file contains settings for ActionController::ParamsWrapper which
-# is enabled by default.
-
-# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
-ActiveSupport.on_load(:action_controller) do
- wrap_parameters format: [:json]
-end
-
-# To enable root element in JSON for ActiveRecord objects.
-# ActiveSupport.on_load(:active_record) do
-# self.include_root_in_json = true
-# end
diff --git a/config/locales/en.yml b/config/locales/en.yml
deleted file mode 100644
index decc5a8..0000000
--- a/config/locales/en.yml
+++ /dev/null
@@ -1,33 +0,0 @@
-# Files in the config/locales directory are used for internationalization
-# and are automatically loaded by Rails. If you want to use locales other
-# than English, add the necessary files in this directory.
-#
-# To use the locales, use `I18n.t`:
-#
-# I18n.t 'hello'
-#
-# In views, this is aliased to just `t`:
-#
-# <%= t('hello') %>
-#
-# To use a different locale, set it with `I18n.locale`:
-#
-# I18n.locale = :es
-#
-# This would use the information in config/locales/es.yml.
-#
-# The following keys must be escaped otherwise they will not be retrieved by
-# the default I18n backend:
-#
-# true, false, on, off, yes, no
-#
-# Instead, surround them with single quotes.
-#
-# en:
-# 'true': 'foo'
-#
-# To learn more, please read the Rails Internationalization guide
-# available at http://guides.rubyonrails.org/i18n.html.
-
-en:
- hello: "Hello world"
diff --git a/config/puma.rb b/config/puma.rb
deleted file mode 100644
index 1e19380..0000000
--- a/config/puma.rb
+++ /dev/null
@@ -1,56 +0,0 @@
-# Puma can serve each request in a thread from an internal thread pool.
-# The `threads` method setting takes two numbers: a minimum and maximum.
-# Any libraries that use thread pools should be configured to match
-# the maximum value specified for Puma. Default is set to 5 threads for minimum
-# and maximum; this matches the default thread size of Active Record.
-#
-threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 }
-threads threads_count, threads_count
-
-# Specifies the `port` that Puma will listen on to receive requests; default is 3000.
-#
-port ENV.fetch("PORT") { 3000 }
-
-# Specifies the `environment` that Puma will run in.
-#
-environment ENV.fetch("RAILS_ENV") { "development" }
-
-# Specifies the number of `workers` to boot in clustered mode.
-# Workers are forked webserver processes. If using threads and workers together
-# the concurrency of the application would be max `threads` * `workers`.
-# Workers do not work on JRuby or Windows (both of which do not support
-# processes).
-#
-# workers ENV.fetch("WEB_CONCURRENCY") { 2 }
-
-# Use the `preload_app!` method when specifying a `workers` number.
-# This directive tells Puma to first boot the application and load code
-# before forking the application. This takes advantage of Copy On Write
-# process behavior so workers use less memory. If you use this option
-# you need to make sure to reconnect any threads in the `on_worker_boot`
-# block.
-#
-# preload_app!
-
-# If you are preloading your application and using Active Record, it's
-# recommended that you close any connections to the database before workers
-# are forked to prevent connection leakage.
-#
-# before_fork do
-# ActiveRecord::Base.connection_pool.disconnect! if defined?(ActiveRecord)
-# end
-
-# The code in the `on_worker_boot` will be called if you are using
-# clustered mode by specifying a number of `workers`. After each worker
-# process is booted, this block will be run. If you are using the `preload_app!`
-# option, you will want to use this block to reconnect to any threads
-# or connections that may have been created at application boot, as Ruby
-# cannot share connections between processes.
-#
-# on_worker_boot do
-# ActiveRecord::Base.establish_connection if defined?(ActiveRecord)
-# end
-#
-
-# Allow puma to be restarted by `rails restart` command.
-plugin :tmp_restart
diff --git a/config/routes.rb b/config/routes.rb
deleted file mode 100644
index 787824f..0000000
--- a/config/routes.rb
+++ /dev/null
@@ -1,3 +0,0 @@
-Rails.application.routes.draw do
- # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
-end
diff --git a/config/secrets.yml b/config/secrets.yml
deleted file mode 100644
index 9cb4a9b..0000000
--- a/config/secrets.yml
+++ /dev/null
@@ -1,32 +0,0 @@
-# Be sure to restart your server when you modify this file.
-
-# Your secret key is used for verifying the integrity of signed cookies.
-# If you change this key, all old signed cookies will become invalid!
-
-# Make sure the secret is at least 30 characters and all random,
-# no regular words or you'll be exposed to dictionary attacks.
-# You can use `rails secret` to generate a secure secret key.
-
-# Make sure the secrets in this file are kept private
-# if you're sharing your code publicly.
-
-# Shared secrets are available across all environments.
-
-# shared:
-# api_key: a1B2c3D4e5F6
-
-# Environmental secrets are only available for that specific environment.
-
-development:
- secret_key_base: bf8d0dd706eeab62bc46e28a5fe716b6f0017e9172479094be12f4979935266d32a34359e4b88999a60c6681c955741956c1780da58567ef32fd10a935411830
-
-test:
- secret_key_base: e78e1838b1aed40d53faefe96895c42ee05ddb7812f7e797cdf7b1ae1a43b23e381e3ceea6ab84b0b14e224648e18db8dea371ef1ca7d2c1c31c7111b01e0873
-
-# Do not keep production secrets in the unencrypted secrets file.
-# Instead, either read values from the environment.
-# Or, use `bin/rails secrets:setup` to configure encrypted secrets
-# and move the `production:` environment over there.
-
-production:
- secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
diff --git a/config/spring.rb b/config/spring.rb
deleted file mode 100644
index c9119b4..0000000
--- a/config/spring.rb
+++ /dev/null
@@ -1,6 +0,0 @@
-%w(
- .ruby-version
- .rbenv-vars
- tmp/restart.txt
- tmp/caching-dev.txt
-).each { |path| Spring.watch(path) }
diff --git a/exe/mm2ep-depend b/exe/mm2ep-depend
index d743cba..db4e1f4 100755
--- a/exe/mm2ep-depend
+++ b/exe/mm2ep-depend
@@ -5,10 +5,7 @@ $:.insert(0, 'lib')
require 'thor'
require 'rly'
require 'pry'
-require 'parser.rb'
-require 'lexer.rb'
-require 'lexer2.rb'
-require 'parser2.rb'
+require 'mm2ep_depend'
module Mm2ep
module Depend
@@ -21,6 +18,8 @@ module Mm2ep
puts line.inspect
token = parser.parse(line.chomp, true)
puts token
+ # puts false && true
+ # puts false || false
# binding.pry
# parser = Parser2.new
# lexer = TestLexer.new(parser.parse(line))
diff --git a/lib/lexer2.rb b/lib/lexer2.rb
deleted file mode 100644
index bb71d6a..0000000
--- a/lib/lexer2.rb
+++ /dev/null
@@ -1,111 +0,0 @@
-module Mm2ep
- module Depend
- class TestLexer
- attr_reader :truc, :tokens, :fait, :non_traites, :i, :atteint
-
- BOOL_EXPR = ['T_BOOL', 'F_BOOL'].freeze
-
- EXPR = {
- 'EXPR_T1' => ['VAR'],
- 'EXPR_T2' => ['BOOL_EXPR'],
- 'EXPR_T3' => ['VAR', 'SPACE', 'EQ_OP', 'SPACE', 'NUMBER'],
- 'EXPR_T4' => ['VAR', 'SPACE', 'EQ_OP', 'SPACE', 'STRING'],
- 'EXPR_T5' => ['VAR', 'SPACE', 'EQ_OP', 'SPACE', 'T_BOOL'],
- 'EXPR_T6' => ['VAR', 'SPACE', 'EQ_OP', 'SPACE', 'F_BOOL'],
- 'EXPR_NT1' => ['EXPR', 'SPACE', 'OR_OP', 'SPACE', 'EXPR'],
- 'EXPR_NT2' => ['EXPR', 'SPACE', 'AND_OP', 'SPACE', 'EXPR'],
- 'EXPR_NT3' => ['L_PAR', 'SPACE', 'EXPR', 'SPACE', 'R_PAR'],
- 'EXPR_NT4' => ['NOT_OP', 'SPACE', 'EXPR']
- }.freeze
-
- def initialize tokens
- @non_traites = []
- @fait = false
- @tokens= tokens
- @i = 0
- @atteint = false
- end
-
- #
- def try_expr
- @truc = Hash[@truc.sort_by { |key, value| value.length }.reverse!]
- @truc.each do |_, value|
- if @tokens[@i...@i+value.length].eql? value
- @tokens.slice!(@i...@i+value.length)
- @tokens.insert(@i, 'EXPR')
- unless @non_traites.empty?
- @i -= 2
- @non_traites.pop(2)
- @fait = true
- break
- end
- end
- end
- end
-
- def move_forward
- @non_traites << @tokens[@i]
- @non_traites << @tokens[@i+1]
- @i += 2
- end
-
- def move_backwards
- @i -= 2
- @non_traites.pop(2)
- end
-
- def expr_nt
- @fait = false
- try_expr
- # binding.pry
- if !@fait && @i < @tokens.size-1
- if !@atteint || (!@tokens[@i].eql?('OR_OP') && !@tokens[@i].eql?('AND_OP'))
- move_forward
- else
- move_backwards
- end
- elsif !@fait
- move_backwards
- end
- end
-
- def expr
- @truc = EXPR.select { |key, value| value.include? @tokens[@i] }
- if(!@truc.keys[0].nil? && @truc.keys[0].include?('EXPR_NT'))
- expr_nt
- elsif(!@truc.keys[0].nil? && @truc.keys[0].include?('EXPR_T'))
- @truc = Hash[@truc.sort_by { |key, value| value.length }.reverse!]
- try_expr
- elsif !@non_traites.empty?
- move_backwards
- else
- raise 'BUG 2 !!!!!'
- end
- end
-
- def lexe
- if @i == @tokens.size-1
- @atteint = true
- end
- if !EXPR.select{|key, value| value.include? @tokens[@i]}.nil?
- expr
- elsif !@non_traites.empty?
- move_backwards
- else
- raise 'BUG !!!!'
- end
- end
-
- def testlexe
- cle, valeur = nil
- compteur = 0
- while @tokens.size != 1 && compteur < 1000
- lexe
- compteur += 1
- end
- return false unless @tokens. size == 1 && @tokens[0].eql?('EXPR')
- return true
- end
- end
- end
-end
diff --git a/lib/mm2ep_depend.rb b/lib/mm2ep_depend.rb
new file mode 100644
index 0000000..c8c44d6
--- /dev/null
+++ b/lib/mm2ep_depend.rb
@@ -0,0 +1,10 @@
+require "mm2ep_depend/version"
+
+
+module Mm2epDepend
+ # Your code goes here...
+end
+
+
+require 'mm2ep_depend/lexer'
+require 'mm2ep_depend/parser'
diff --git a/lib/lexer.rb b/lib/mm2ep_depend/lexer.rb
similarity index 100%
rename from lib/lexer.rb
rename to lib/mm2ep_depend/lexer.rb
diff --git a/lib/parser.rb b/lib/mm2ep_depend/parser.rb
similarity index 100%
rename from lib/parser.rb
rename to lib/mm2ep_depend/parser.rb
diff --git a/lib/mm2ep_depend/version.rb b/lib/mm2ep_depend/version.rb
new file mode 100644
index 0000000..de3f3e9
--- /dev/null
+++ b/lib/mm2ep_depend/version.rb
@@ -0,0 +1,3 @@
+module Mm2epDepend
+ VERSION = "0.1.0"
+end
diff --git a/lib/parser2.rb b/lib/parser2.rb
deleted file mode 100644
index 3c7af34..0000000
--- a/lib/parser2.rb
+++ /dev/null
@@ -1,42 +0,0 @@
-module Mm2ep
- module Depend
- class Parser2
- attr_reader :tokens
-
- TOKEN = {
- 'L_PAR' => "(",
- 'NUMBER' => /[0-9]+(\.[0-9]+)?/,
- 'STRING' => /"[^"]*"/,
- 'EQ_OP' => "=",
- 'T_BOOL' => /[tT]rue/,
- 'F_BOOL' => /[fF]alse/,
- 'VAR' => /[a-z][a-zA-Z0-9_]+/,
- 'AND_OP' => "AND",
- 'OR_OP' => "OR",
- 'NOT_OP' => "NOT",
- 'SPACE' => /\s+/,
- 'R_PAR' => ")"
- }.freeze
-
-
- def initialize
- @tokens = []
- end
-
- def parse s
- s = s.split(' ')
- s.each_with_index do |element, idx|
- TOKEN.each do |token, regex|
- next if element.sub!(regex, '').nil?
- @tokens << token
- break if element.nil?
- end
- @tokens <<'SPACE' unless idx == s.length-1
- end
- # puts @tokens
- @tokens
- end # def
-
- end # class
- end # module
-end # module
diff --git a/log/.keep b/log/.keep
deleted file mode 100644
index e69de29..0000000
diff --git a/mm2ep_depend.gemspec b/mm2ep_depend.gemspec
new file mode 100644
index 0000000..cd9d1f3
--- /dev/null
+++ b/mm2ep_depend.gemspec
@@ -0,0 +1,36 @@
+# coding: utf-8
+lib = File.expand_path("../lib", __FILE__)
+$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
+require "mm2ep_depend/version"
+
+Gem::Specification.new do |spec|
+ spec.name = "mm2ep_depend"
+ spec.version = Mm2epDepend::VERSION
+ spec.authors = ["Roguelearg"]
+ spec.email = ["torre.brendon@gmail.com"]
+
+ spec.summary = %q{A library and tools for expressions}
+ spec.description = %q{A library and tools for expressions}
+ spec.homepage = "https://datatransition.net"
+ spec.license = "MIT"
+
+ # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
+ # to allow pushing to a single host or delete this section to allow pushing to any host.
+ if spec.respond_to?(:metadata)
+ spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'"
+ else
+ raise "RubyGems 2.0 or newer is required to protect against " \
+ "public gem pushes."
+ end
+
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
+ f.match(%r{^(test|spec|features)/})
+ end
+ spec.bindir = "exe"
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
+ spec.require_paths = ["lib"]
+
+ spec.add_development_dependency "bundler", "~> 1.15"
+ spec.add_development_dependency "rake", "~> 10.0"
+ spec.add_development_dependency "minitest", "~> 5.0"
+end
diff --git a/package.json b/package.json
deleted file mode 100644
index 4cac9d1..0000000
--- a/package.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "name": "mm2ep_depend",
- "private": true,
- "dependencies": {}
-}
diff --git a/public/404.html b/public/404.html
deleted file mode 100644
index 2be3af2..0000000
--- a/public/404.html
+++ /dev/null
@@ -1,67 +0,0 @@
-
-
-
- The page you were looking for doesn't exist (404)
-
-
-
-
-
-
-
-
-
The page you were looking for doesn't exist.
-
You may have mistyped the address or the page may have moved.
-
-
If you are the application owner check the logs for more information.
-
-
-
diff --git a/public/422.html b/public/422.html
deleted file mode 100644
index c08eac0..0000000
--- a/public/422.html
+++ /dev/null
@@ -1,67 +0,0 @@
-
-
-
- The change you wanted was rejected (422)
-
-
-
-
-
-
-
-
-
The change you wanted was rejected.
-
Maybe you tried to change something you didn't have access to.
-
-
If you are the application owner check the logs for more information.
-
-
-
diff --git a/public/500.html b/public/500.html
deleted file mode 100644
index 78a030a..0000000
--- a/public/500.html
+++ /dev/null
@@ -1,66 +0,0 @@
-
-
-
- We're sorry, but something went wrong (500)
-
-
-
-
-
-
-
-
-
We're sorry, but something went wrong.
-
-
If you are the application owner check the logs for more information.
-
-
-
diff --git a/public/apple-touch-icon-precomposed.png b/public/apple-touch-icon-precomposed.png
deleted file mode 100644
index e69de29..0000000
diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png
deleted file mode 100644
index e69de29..0000000
diff --git a/public/favicon.ico b/public/favicon.ico
deleted file mode 100644
index e69de29..0000000
diff --git a/public/robots.txt b/public/robots.txt
deleted file mode 100644
index 37b576a..0000000
--- a/public/robots.txt
+++ /dev/null
@@ -1 +0,0 @@
-# See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file
diff --git a/test/mm2ep_depend_test.rb b/test/mm2ep_depend_test.rb
new file mode 100644
index 0000000..fd54034
--- /dev/null
+++ b/test/mm2ep_depend_test.rb
@@ -0,0 +1,11 @@
+require "test_helper"
+
+class Mm2epDependTest < Minitest::Test
+ def test_that_it_has_a_version_number
+ refute_nil ::Mm2epDepend::VERSION
+ end
+
+ def test_it_does_something_useful
+ assert false
+ end
+end
diff --git a/test/test_helper.rb b/test/test_helper.rb
new file mode 100644
index 0000000..a7bcb72
--- /dev/null
+++ b/test/test_helper.rb
@@ -0,0 +1,4 @@
+$LOAD_PATH.unshift File.expand_path("../../lib", __FILE__)
+require "mm2ep_depend"
+
+require "minitest/autorun"