okuribito_rails 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +68 -0
  4. data/Rakefile +30 -0
  5. data/app/assets/javascripts/okuribito_rails/application.js +13 -0
  6. data/app/assets/stylesheets/okuribito_rails/application.css +13 -0
  7. data/app/assets/stylesheets/okuribito_rails/method_call_info.css +19 -0
  8. data/app/controllers/okuribito_rails/application_controller.rb +4 -0
  9. data/app/controllers/okuribito_rails/method_call_logs_controller.rb +9 -0
  10. data/app/controllers/okuribito_rails/method_call_situations_controller.rb +9 -0
  11. data/app/helpers/okuribito_rails/application_helper.rb +4 -0
  12. data/app/models/okuribito_rails/method_call_log.rb +5 -0
  13. data/app/models/okuribito_rails/method_call_situation.rb +5 -0
  14. data/app/views/layouts/okuribito_rails/application.html.erb +14 -0
  15. data/app/views/okuribito_rails/method_call_logs/index.html.erb +24 -0
  16. data/app/views/okuribito_rails/method_call_situations/index.html.erb +30 -0
  17. data/config/routes.rb +4 -0
  18. data/db/migrate/20161027145839_create_okuribito_rails_method_call_situations.rb +14 -0
  19. data/db/migrate/20161027150000_create_okuribito_rails_method_call_logs.rb +15 -0
  20. data/lib/generators/okuribito_rails/install_generator.rb +44 -0
  21. data/lib/generators/okuribito_rails/templates/initializer.erb +7 -0
  22. data/lib/okuribito_rails/config.rb +8 -0
  23. data/lib/okuribito_rails/engine.rb +15 -0
  24. data/lib/okuribito_rails/observe_method.rb +21 -0
  25. data/lib/okuribito_rails/railtie.rb +19 -0
  26. data/lib/okuribito_rails/regist_method.rb +44 -0
  27. data/lib/okuribito_rails/version.rb +3 -0
  28. data/lib/okuribito_rails.rb +8 -0
  29. data/lib/tasks/okuribito_rails_tasks.rake +4 -0
  30. metadata +152 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 71c24bd6b8d02a6f2bf2e3aca3153d4e01cbeb4e
4
+ data.tar.gz: 81c7826c60d89e14c8b6511396ea57d82603d27d
5
+ SHA512:
6
+ metadata.gz: 084359cca42f7a890cd3025bc7ebace2c7bc9c247df42abc308b971429c53c75624adf1453877b182e8e4b7b4034fc463343fd36447ba7a4a0fb635024327eff
7
+ data.tar.gz: 2a68eefce673d5c80ae800ff997261d38613464315ca2ceec402df15c644f36e744877a2ad4bf710f2ca8159d613bad140663b853d78b4dcb8db43fdcd1eb0c0
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright 2016 YOURNAME
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,68 @@
1
+ # OkuribitoRails
2
+
3
+ OkuribitoRails is an engine for Rails that aims to be the managing method call status.
4
+
5
+ You should create a configuration file. (Describe the method name you want to monitor)
6
+
7
+ When OkuribitoRails detected a method call during application execution, it registers the method call information in the DB.
8
+
9
+ In other words, you can identify methods that have not been called from anywhere in production!
10
+
11
+ ![OkuribitoRails](https://raw.githubusercontent.com/muramurasan/okuribito_rails/master/doc/sample.png)
12
+
13
+ # Installation
14
+
15
+ Installing OkuribitoRails is easy.
16
+
17
+ ## Specify Gem dependencies
18
+
19
+ ```ruby
20
+ gem 'okuribito_rails'
21
+ ```
22
+
23
+ ## Run the installer
24
+
25
+ Run the installer.
26
+
27
+ ```shell
28
+ rails g okuribito_rails:install
29
+ ```
30
+
31
+ The installer makes the following settings.
32
+
33
+ - Create migration files (Used by OkuribitoRails)
34
+ - Updating routing (Mount engine)
35
+ - Create default configuration
36
+
37
+ ## Run db:migrate
38
+
39
+ ```shell
40
+ rake db:migrate
41
+ ```
42
+
43
+ ## Definition of monitoring method
44
+
45
+ Create a file that defines the method to be monitored.
46
+
47
+ ```ruby
48
+ User:
49
+ - '#feed'
50
+ - '#profile'
51
+ Micropost:
52
+ - '.from_users_followed_by'
53
+ ```
54
+
55
+ And put it in the path defined in `config / initializers / okuribito_rails.rb`.
56
+
57
+ (By Default `config/okuribito.yml`)
58
+
59
+ ## Features
60
+
61
+ Here's a comprehensive list of the features currently in OkuribitoRails:
62
+
63
+ * Monitoring
64
+ * During application execution, monitor specified method calls
65
+ * After detecting the method call, register the call history in the DB
66
+ * Web UI
67
+ * Viewing monitored methods
68
+ * Viewing call history of monitored methods
data/Rakefile ADDED
@@ -0,0 +1,30 @@
1
+ begin
2
+ require 'bundler/setup'
3
+ rescue LoadError
4
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
+ end
6
+
7
+ require 'rdoc/task'
8
+
9
+ RDoc::Task.new(:rdoc) do |rdoc|
10
+ rdoc.rdoc_dir = 'rdoc'
11
+ rdoc.title = 'OkuribitoRails'
12
+ rdoc.options << '--line-numbers'
13
+ rdoc.rdoc_files.include('README.rdoc')
14
+ rdoc.rdoc_files.include('lib/**/*.rb')
15
+ end
16
+
17
+
18
+ Bundler::GemHelper.install_tasks
19
+
20
+ require 'rake/testtask'
21
+
22
+ Rake::TestTask.new(:test) do |t|
23
+ t.libs << 'lib'
24
+ t.libs << 'spec'
25
+ t.pattern = 'spec/**/*_spec.rb'
26
+ t.verbose = false
27
+ end
28
+
29
+
30
+ task default: :test
@@ -0,0 +1,13 @@
1
+ // This is a manifest file that'll be compiled into application.js, which will include all the files
2
+ // listed below.
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ // or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
6
+ //
7
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ // compiled file.
9
+ //
10
+ // Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details
11
+ // about supported directives.
12
+ //
13
+ //= require_tree .
@@ -0,0 +1,13 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
+ * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the top of the
9
+ * compiled file, but it's generally better to create a new file per style scope.
10
+ *
11
+ *= require_self
12
+ *= require_tree .
13
+ */
@@ -0,0 +1,19 @@
1
+ .method_call_info{
2
+ width: 100%;
3
+ border-collapse: collapse;
4
+ margin-bottom: 10px;
5
+ }
6
+ .method_call_info th{
7
+ padding: 6px;
8
+ text-align: left;
9
+ vertical-align: top;
10
+ color: #333;
11
+ background-color: #eee;
12
+ border: 1px solid #b9b9b9;
13
+ }
14
+ .method_call_info td{
15
+ padding: 6px;
16
+ background-color: #fff;
17
+ border: 1px solid #b9b9b9;
18
+ font-size: 0.9em
19
+ }
@@ -0,0 +1,4 @@
1
+ module OkuribitoRails
2
+ class ApplicationController < ActionController::Base
3
+ end
4
+ end
@@ -0,0 +1,9 @@
1
+ require_dependency "okuribito_rails/application_controller"
2
+
3
+ module OkuribitoRails
4
+ class MethodCallLogsController < ApplicationController
5
+ def index
6
+ @method_call_logs = MethodCallLog.page(params[Kaminari.config.param_name]).per(20)
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ require_dependency "okuribito_rails/application_controller"
2
+
3
+ module OkuribitoRails
4
+ class MethodCallSituationsController < ApplicationController
5
+ def index
6
+ @method_call_situations = MethodCallSituation.page(params[Kaminari.config.param_name]).per(20)
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,4 @@
1
+ module OkuribitoRails
2
+ module ApplicationHelper
3
+ end
4
+ end
@@ -0,0 +1,5 @@
1
+ module OkuribitoRails
2
+ class MethodCallLog < ActiveRecord::Base
3
+ belongs_to :method_call_situation
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ module OkuribitoRails
2
+ class MethodCallSituation < ActiveRecord::Base
3
+ has_many :method_call_logs
4
+ end
5
+ end
@@ -0,0 +1,14 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>OkuribitoRails</title>
5
+ <%= stylesheet_link_tag "okuribito_rails/application", media: "all" %>
6
+ <%= javascript_include_tag "okuribito_rails/application" %>
7
+ <%= csrf_meta_tags %>
8
+ </head>
9
+ <body>
10
+
11
+ <%= yield %>
12
+
13
+ </body>
14
+ </html>
@@ -0,0 +1,24 @@
1
+ <table class="method_call_info">
2
+ <tbody>
3
+ <tr>
4
+ <th>Method name</th>
5
+ <th>Backtrace</th>
6
+ <th>Recording date</th>
7
+ </tr>
8
+ <% @method_call_logs.each do |method_call_log| %>
9
+ <tr>
10
+ <td>
11
+ <%= method_call_log.class_name %><%= method_call_log.method_symbol %><%= method_call_log.method_name %>
12
+ </td>
13
+ <td>
14
+ <%= method_call_log.back_trace %>
15
+ </td>
16
+ <td>
17
+ <%= method_call_log.created_at %>
18
+ </td>
19
+ </tr>
20
+ <% end %>
21
+ </tbody>
22
+ </table>
23
+
24
+ <%= paginate @method_call_logs %>
@@ -0,0 +1,30 @@
1
+ <table class="method_call_info">
2
+ <tbody>
3
+ <tr>
4
+ <th>Method name</th>
5
+ <th>Number of calls</th>
6
+ <th>Monitoring start date</th>
7
+ <th>Last call date</th>
8
+ </tr>
9
+ <% @method_call_situations.each do |method_call_situation| %>
10
+ <tr>
11
+ <td>
12
+ <%= method_call_situation.class_name %><%= method_call_situation.method_symbol %><%= method_call_situation.method_name %>
13
+ </td>
14
+ <td>
15
+ <%= method_call_situation.called_num %>
16
+ </td>
17
+ <td>
18
+ <%= method_call_situation.created_at %>
19
+ </td>
20
+ <td>
21
+ <%= method_call_situation.called_num > 0 ? method_call_situation.updated_at : "Not called" %>
22
+ </td>
23
+ </tr>
24
+ <% end %>
25
+ </tbody>
26
+ </table>
27
+
28
+ <%= paginate @method_call_situations %>
29
+
30
+
data/config/routes.rb ADDED
@@ -0,0 +1,4 @@
1
+ OkuribitoRails::Engine.routes.draw do
2
+ resources :method_call_logs
3
+ resources :method_call_situations
4
+ end
@@ -0,0 +1,14 @@
1
+ class CreateOkuribitoRailsMethodCallSituations < ActiveRecord::Migration
2
+ def change
3
+ create_table :okuribito_rails_method_call_situations do |t|
4
+ t.string :class_name, null: false
5
+ t.string :method_symbol, null: false
6
+ t.string :method_name, null: false
7
+ t.integer :called_num, null: false, default: 0
8
+
9
+ t.timestamps
10
+ end
11
+ add_index :okuribito_rails_method_call_situations, :class_name
12
+ add_index :okuribito_rails_method_call_situations, :method_name
13
+ end
14
+ end
@@ -0,0 +1,15 @@
1
+ class CreateOkuribitoRailsMethodCallLogs < ActiveRecord::Migration
2
+ def change
3
+ create_table :okuribito_rails_method_call_logs do |t|
4
+ t.integer :method_call_situation_id, null: false
5
+ t.string :class_name, null: false
6
+ t.string :method_symbol, null: false
7
+ t.string :method_name, null: false
8
+ t.text :back_trace
9
+
10
+ t.timestamps
11
+ end
12
+ add_index :okuribito_rails_method_call_logs, :class_name
13
+ add_index :okuribito_rails_method_call_logs, :method_name
14
+ end
15
+ end
@@ -0,0 +1,44 @@
1
+ require 'rails/generators'
2
+
3
+ module OkuribitoRails
4
+ class InstallGenerator < Rails::Generators::Base
5
+ class_option "with-migrate", :type => :boolean
6
+
7
+ def start
8
+ puts "Start installing okuribito_rails..."
9
+ puts ("*" * 80) + "\n"
10
+ end
11
+
12
+ def install_migrations
13
+ puts "Copying over OkuribitoRails migrations..."
14
+ Dir.chdir(Rails.root) do
15
+ `rake okuribito_rails:install:migrations`
16
+ end
17
+ end
18
+
19
+ def run_migrations
20
+ if options["with-migrate"]
21
+ puts "Running rake db:migrate"
22
+ `rake db:migrate`
23
+ end
24
+ end
25
+
26
+ def mount_engine
27
+ puts "Insert routing..."
28
+ route("mount OkuribitoRails::Engine, :at => '/okuribito_rails'")
29
+ end
30
+
31
+ def create_config_initializer
32
+ puts "Create configuration..."
33
+ OkuribitoRails::InstallGenerator.source_root File.expand_path('../templates', __FILE__)
34
+ template 'initializer.erb', 'config/initializers/okuribito_rails.rb'
35
+ end
36
+
37
+ def finished
38
+ puts "\n" + ("*" * 80)
39
+ puts "Done! OkuribitoRails has been successfully installed."
40
+ puts "Please create and deploy a configuration file of okuribito."
41
+ puts "(The yaml that defines the method you want to monitor)"
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,7 @@
1
+ OkuribitoRails.configure do |config|
2
+ # The path of the yaml file that describes the method you want to monitor.
3
+ config.setting_path = "config/okuribito.yml"
4
+
5
+ # Detecting method calls only once during application running.
6
+ config.once_detect = false
7
+ end
@@ -0,0 +1,8 @@
1
+ module OkuribitoRails
2
+ class Config
3
+ include ActiveSupport::Configurable
4
+
5
+ config_accessor :once_detect
6
+ config_accessor :setting_path
7
+ end
8
+ end
@@ -0,0 +1,15 @@
1
+ module OkuribitoRails
2
+ class Engine < ::Rails::Engine
3
+ isolate_namespace OkuribitoRails
4
+ end
5
+
6
+ class << self
7
+ def config
8
+ @config ||= Config.new
9
+ end
10
+
11
+ def configure
12
+ yield config
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,21 @@
1
+ require "okuribito"
2
+
3
+ module OkuribitoRails
4
+ class ObserveMethod
5
+ def patch_okuribito
6
+ Okuribito::OkuribitoPatch.new(once_detect: OkuribitoRails.config.once_detect) do |method_name, _obj_name, caller_info, class_name, method_symbol|
7
+ situation = MethodCallSituation.find_by(class_name: class_name,
8
+ method_symbol: method_symbol,
9
+ method_name: method_name)
10
+ if situation.present?
11
+ situation.increment!(:called_num)
12
+ MethodCallLog.create(method_call_situation: situation,
13
+ class_name: class_name,
14
+ method_symbol: method_symbol,
15
+ method_name: method_name,
16
+ back_trace: caller_info[0])
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,19 @@
1
+ require "okuribito_rails/regist_method"
2
+ require "okuribito_rails/observe_method"
3
+
4
+ module OkuribitoRails
5
+ class Railtie < ::Rails::Railtie
6
+ config.after_initialize do
7
+ if ActiveRecord::Base.connection.table_exists? 'okuribito_rails_method_call_situations'
8
+ yaml_path = OkuribitoRails.config.setting_path
9
+
10
+ # Update database by observed methods.
11
+ RegistMethod.new.update_observe_methods(yaml_path)
12
+
13
+ # Define behavior that when method called.
14
+ okuribito = ObserveMethod.new.patch_okuribito
15
+ okuribito.apply(yaml_path) if File.exist?(yaml_path)
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,44 @@
1
+ require "yaml"
2
+
3
+ module OkuribitoRails
4
+ class RegistMethod
5
+ def update_observe_methods(path)
6
+ input = yaml_to_array(path)
7
+ base = db_to_array
8
+ new_methods = input - base
9
+ new_methods.each do |new_method|
10
+ array = new_method.split(/\s*(#|\.)\s*/)
11
+ MethodCallSituation.create(class_name: array[0],
12
+ method_symbol: array[1],
13
+ method_name: array[2])
14
+ end
15
+ delete_methods = base - input
16
+ delete_methods.each do |delete_method|
17
+ array = delete_method.split(/\s*(#|\.)\s*/)
18
+ MethodCallSituation.find_by(class_name: array[0],
19
+ method_symbol: array[1],
20
+ method_name: array[2]).destroy
21
+ end
22
+ end
23
+
24
+ def yaml_to_array(path)
25
+ yaml = YAML.load_file(path)
26
+ methods_array = []
27
+ yaml.each do |class_name, observe_methods|
28
+ observe_methods.each do |observe_method|
29
+ methods_array.push(class_name + observe_method)
30
+ end
31
+ end
32
+ methods_array
33
+ end
34
+
35
+ def db_to_array
36
+ methods_array = []
37
+ results = MethodCallSituation.all
38
+ results.each do |result|
39
+ methods_array.push(result.class_name + result.method_symbol + result.method_name)
40
+ end
41
+ methods_array
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,3 @@
1
+ module OkuribitoRails
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,8 @@
1
+ require "kaminari"
2
+
3
+ require "okuribito_rails/engine"
4
+ require "okuribito_rails/railtie"
5
+ require "okuribito_rails/config"
6
+
7
+ module OkuribitoRails
8
+ end
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :okuribito_rails do
3
+ # # Task goes here
4
+ # end
metadata ADDED
@@ -0,0 +1,152 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: okuribito_rails
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Yasuhiro Matsumura
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-11-28 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: okuribito
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rails
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '4.0'
34
+ - - <
35
+ - !ruby/object:Gem::Version
36
+ version: '6'
37
+ type: :runtime
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '4.0'
44
+ - - <
45
+ - !ruby/object:Gem::Version
46
+ version: '6'
47
+ - !ruby/object:Gem::Dependency
48
+ name: kaminari
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - '>='
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: sqlite3
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - '>='
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - '>='
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: rspec-rails
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - '>='
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - '>='
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ description: OkuribitoRails is an engine for Rails that aims to be the managing method
90
+ call status.You should create a configuration file. (Describe the method name you
91
+ want to monitor)When OkuribitoRails detected a method call during application execution,
92
+ it registers the method call information in the DB.In other words, you can identify
93
+ methods that have not been called from anywhere in production!
94
+ email:
95
+ - ym.contributor@gmail.com
96
+ executables: []
97
+ extensions: []
98
+ extra_rdoc_files: []
99
+ files:
100
+ - app/assets/javascripts/okuribito_rails/application.js
101
+ - app/assets/stylesheets/okuribito_rails/application.css
102
+ - app/assets/stylesheets/okuribito_rails/method_call_info.css
103
+ - app/controllers/okuribito_rails/application_controller.rb
104
+ - app/controllers/okuribito_rails/method_call_logs_controller.rb
105
+ - app/controllers/okuribito_rails/method_call_situations_controller.rb
106
+ - app/helpers/okuribito_rails/application_helper.rb
107
+ - app/models/okuribito_rails/method_call_log.rb
108
+ - app/models/okuribito_rails/method_call_situation.rb
109
+ - app/views/layouts/okuribito_rails/application.html.erb
110
+ - app/views/okuribito_rails/method_call_logs/index.html.erb
111
+ - app/views/okuribito_rails/method_call_situations/index.html.erb
112
+ - config/routes.rb
113
+ - db/migrate/20161027145839_create_okuribito_rails_method_call_situations.rb
114
+ - db/migrate/20161027150000_create_okuribito_rails_method_call_logs.rb
115
+ - lib/generators/okuribito_rails/install_generator.rb
116
+ - lib/generators/okuribito_rails/templates/initializer.erb
117
+ - lib/okuribito_rails/config.rb
118
+ - lib/okuribito_rails/engine.rb
119
+ - lib/okuribito_rails/observe_method.rb
120
+ - lib/okuribito_rails/railtie.rb
121
+ - lib/okuribito_rails/regist_method.rb
122
+ - lib/okuribito_rails/version.rb
123
+ - lib/okuribito_rails.rb
124
+ - lib/tasks/okuribito_rails_tasks.rake
125
+ - MIT-LICENSE
126
+ - Rakefile
127
+ - README.md
128
+ homepage: https://github.com/muramurasan/okuribito_rails
129
+ licenses: []
130
+ metadata: {}
131
+ post_install_message:
132
+ rdoc_options: []
133
+ require_paths:
134
+ - lib
135
+ required_ruby_version: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - '>='
138
+ - !ruby/object:Gem::Version
139
+ version: '0'
140
+ required_rubygems_version: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - '>='
143
+ - !ruby/object:Gem::Version
144
+ version: '0'
145
+ requirements: []
146
+ rubyforge_project:
147
+ rubygems_version: 2.0.14.1
148
+ signing_key:
149
+ specification_version: 4
150
+ summary: OkuribitoRails is an engine for Rails that aims to be the managing method
151
+ call status.
152
+ test_files: []