meta2 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: aa433e368bef30a9d9fc9e8017952c5fab25a64a
4
+ data.tar.gz: df9a8784fcab09b85c43e76da1a2d0ac07746901
5
+ SHA512:
6
+ metadata.gz: de362c12a7156c2f1e6545cadfa23896b7c78c37b018bd7600dca84684861904c3943100d12380bf2c9080a7a3f821320664164480c2b7a5456a5d11c17bff39
7
+ data.tar.gz: 1f8828e55628da1bcf2c674cbc82e9b2df936170ff2a2fc1724b1fea8c9c80b9331726ab6c0ecfc08f0f6ff2066036c99350f55194287c77fe9a347bc4bd0cbe
data/.gitignore ADDED
@@ -0,0 +1,14 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
9
+ /vendor/
10
+ *.bundle
11
+ *.so
12
+ *.o
13
+ *.a
14
+ mkmf.log
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format documentation
2
+ --color
data/.travis.yml ADDED
@@ -0,0 +1,3 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.1.4
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in meta2.gemspec
4
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,46 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ meta2 (0.0.1)
5
+ activesupport (>= 4.0.0, < 5)
6
+ i18n (~> 0.7.0)
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ activesupport (4.2.3)
12
+ i18n (~> 0.7)
13
+ json (~> 1.7, >= 1.7.7)
14
+ minitest (~> 5.1)
15
+ thread_safe (~> 0.3, >= 0.3.4)
16
+ tzinfo (~> 1.1)
17
+ diff-lcs (1.2.5)
18
+ i18n (0.7.0)
19
+ json (1.8.3)
20
+ minitest (5.7.0)
21
+ rake (10.4.2)
22
+ rspec (3.3.0)
23
+ rspec-core (~> 3.3.0)
24
+ rspec-expectations (~> 3.3.0)
25
+ rspec-mocks (~> 3.3.0)
26
+ rspec-core (3.3.1)
27
+ rspec-support (~> 3.3.0)
28
+ rspec-expectations (3.3.0)
29
+ diff-lcs (>= 1.2.0, < 2.0)
30
+ rspec-support (~> 3.3.0)
31
+ rspec-mocks (3.3.1)
32
+ diff-lcs (>= 1.2.0, < 2.0)
33
+ rspec-support (~> 3.3.0)
34
+ rspec-support (3.3.0)
35
+ thread_safe (0.3.5)
36
+ tzinfo (1.2.2)
37
+ thread_safe (~> 0.1)
38
+
39
+ PLATFORMS
40
+ ruby
41
+
42
+ DEPENDENCIES
43
+ bundler (~> 1.7)
44
+ meta2!
45
+ rake (~> 10.0)
46
+ rspec (~> 3.3)
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2015 manabu.oshiro
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,31 @@
1
+ # Meta2
2
+
3
+ TODO: Write a gem description
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ ```ruby
10
+ gem 'meta2'
11
+ ```
12
+
13
+ And then execute:
14
+
15
+ $ bundle
16
+
17
+ Or install it yourself as:
18
+
19
+ $ gem install meta2
20
+
21
+ ## Usage
22
+
23
+ TODO: Write usage instructions here
24
+
25
+ ## Contributing
26
+
27
+ 1. Fork it ( https://github.com/[my-github-username]/meta2/fork )
28
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
29
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
30
+ 4. Push to the branch (`git push origin my-new-feature`)
31
+ 5. Create a new Pull Request
data/Rakefile ADDED
@@ -0,0 +1,7 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
7
+
@@ -0,0 +1,13 @@
1
+ require 'rails/generators/active_record'
2
+
3
+ module ActiveRecord
4
+ module Generators
5
+ class Meta2Generator < ActiveRecord::Generators::Base
6
+ source_root File.expand_path("../templates", __FILE__)
7
+
8
+ def copy_meta2
9
+ migration_template 'migration.rb', "db/migrate/create_#{table_name}.rb"
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,16 @@
1
+ class Create<%= table_name.camelize %> < ActiveRecord::Migration
2
+ def change
3
+ create_table :<%= table_name %> do |t|
4
+ t.string :app_name, null: false
5
+ t.string :section, null: false
6
+ t.string :path, null: false
7
+ t.string :name, null: false
8
+ t.string :value, null: false
9
+ t.string :note
10
+
11
+ t.timestamps
12
+ end
13
+
14
+ add_index :<%= table_name %>, [:app_name, :section, :path, :name], unique: true
15
+ end
16
+ end
@@ -0,0 +1,26 @@
1
+ require 'rails/generators/base'
2
+
3
+ module Meta2
4
+ module Generators
5
+ class InstallGenerator < Rails::Generators::Base
6
+ source_root File.expand_path("../../templates", __FILE__)
7
+
8
+ desc "Creates a Meta2 initializer and copy locale files to your application."
9
+ class_option :orm
10
+
11
+ def copy_initializer
12
+ target_file_path = 'config/initializers/meta2.rb'
13
+ template target_file_path, target_file_path
14
+ end
15
+
16
+ def copy_locale
17
+ target_file_path = 'config/locales/meta2.ja.yml'
18
+ copy_file target_file_path, target_file_path
19
+ end
20
+
21
+ def show_readme
22
+ readme "README" if behavior == :invoke
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,4 @@
1
+ ===============================================================================
2
+ rails g meta2:install
3
+ rails g active_record:meta2 meta_setting
4
+ ===============================================================================
@@ -0,0 +1,7 @@
1
+ Meta2.configure do |config|
2
+ config.strategy = :i18n
3
+ config.assign_name = :meta2
4
+ config.columns = %w{title description keywords}
5
+ config.logger = Rails.logger
6
+ config.logging = true
7
+ end
@@ -0,0 +1,15 @@
1
+ ja:
2
+ meta2:
3
+ formats:
4
+ title: '%'
5
+ description: '%'
6
+ defaults:
7
+ title: 'Default title.'
8
+ description: 'Default description.'
9
+ keywords: 'Default keyword.'
10
+ sections:
11
+ welcome:
12
+ root:
13
+ title: 'Title for top page of your serivce.'
14
+ description: 'Description for top page of your service.'
15
+
data/lib/meta2.rb ADDED
@@ -0,0 +1,41 @@
1
+ require 'active_support/dependencies'
2
+
3
+ module Meta2
4
+ autoload :Absorber, 'meta2/absorber'
5
+ autoload :Strategies, 'meta2/strategies'
6
+ autoload :Resolver, 'meta2/resolver'
7
+ autoload :Version, 'meta2/version'
8
+
9
+ module Helpers
10
+ autoload :ActionViewExtension, 'meta2/helpers/action_view_extension'
11
+ end
12
+
13
+ module Models
14
+ autoload :MetaSetting, 'meta2/models/meta_setting'
15
+ end
16
+
17
+ module Strategies
18
+ autoload :I18n, 'meta2/strategies/i18n'
19
+ autoload :ActiveRecord, 'meta2/strategies/active_record'
20
+ end
21
+
22
+ class << self
23
+ def configure
24
+ yield self.config
25
+ end
26
+
27
+ def config
28
+ Rails.application.config.meta2
29
+ end
30
+
31
+ def debug(message)
32
+ return unless self.config.logging
33
+ self.config.logger.debug "[META2] #{message}"
34
+ end
35
+ end
36
+ end
37
+
38
+ if defined? Rails
39
+ require 'meta2/rails'
40
+ require 'meta2/railtie'
41
+ end
@@ -0,0 +1,44 @@
1
+ module Meta2
2
+ class Absorber
3
+ attr_accessor :formats, :defaults, :parts
4
+
5
+ def to_html(context)
6
+ tags = Meta2.config.columns.map do |column_name|
7
+ value = @parts[column_name.to_sym].presence || @defaults[column_name.to_sym]
8
+ next nil if value.blank?
9
+
10
+ value = begin
11
+ context.instance_eval do
12
+ eval "\"#{value}\""
13
+ end
14
+ rescue
15
+ Meta2.debug "#{column_name} was happened syntax error"
16
+ value
17
+ end
18
+
19
+ if @formats[column_name.to_sym].present?
20
+ value = @formats[column_name.to_sym].gsub '%', value
21
+ end
22
+
23
+ case column_name
24
+ when 'title'
25
+ '<title>%s</title>' % [value]
26
+ when 'description'
27
+ meta_tag column_name, value
28
+ when 'keywords'
29
+ meta_tag column_name, value
30
+ end
31
+ end
32
+
33
+ tags.compact!
34
+ tags.join("\n")
35
+ end
36
+
37
+
38
+ private
39
+
40
+ def meta_tag(name, value)
41
+ '<meta name="%s" content="%s" />' % [name, value]
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,26 @@
1
+ module ActionView
2
+ class Renderer
3
+ def render_template_with_meta2(context, options)
4
+ config = Meta2.config
5
+
6
+ resolver = context.assigns[config.assign_name]
7
+ resolver.setup config.strategy, context, options
8
+
9
+ render_template_without_meta2 context, options
10
+ end
11
+
12
+ alias_method_chain :render_template, :meta2
13
+ end
14
+ end
15
+
16
+ module AbstractController
17
+ module Rendering
18
+ def view_assigns_with_meta2
19
+ hash = view_assigns_without_meta2
20
+ hash[Meta2.config.assign_name] = Meta2::Resolver.new
21
+ hash
22
+ end
23
+
24
+ alias_method_chain :view_assigns, :meta2
25
+ end
26
+ end
@@ -0,0 +1,11 @@
1
+ module Meta2
2
+ module Helpers
3
+ module ActionViewExtension
4
+ def meta_tags
5
+ resolver = instance_variable_get "@#{Meta2.config.assign_name}"
6
+
7
+ resolver.detect.to_html(resolver.context).html_safe
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,6 @@
1
+ module Meta2
2
+ module Models
3
+ class MetaSetting < ActiveRecord::Base
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,7 @@
1
+ ActiveSupport.on_load(:action_controller) do
2
+ require 'meta2/alias_method_chains'
3
+ end
4
+
5
+ ActiveSupport.on_load(:action_view) do
6
+ ::ActionView::Base.send :include, Meta2::Helpers::ActionViewExtension
7
+ end
@@ -0,0 +1,14 @@
1
+ module Meta2
2
+ class Railtie < Rails::Railtie
3
+ config.meta2 = ActiveSupport::OrderedOptions.new
4
+
5
+ initializer 'meta2' do |app|
6
+ config = app.config.meta2
7
+ config.strategy = :i18n
8
+ config.assign_name = :meta2
9
+ config.columns = %w{title description keywords}
10
+ config.logger = Rails.logger
11
+ config.logging = true
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,17 @@
1
+ module Meta2
2
+ class Resolver
3
+ attr_reader :strategy, :context, :options
4
+
5
+ def setup(strategy, context, options)
6
+ @strategy, @context, @options = strategy, context, options
7
+ end
8
+
9
+ def detect
10
+ Meta2.debug "strategy: #{strategy}"
11
+ strategy_class_name = "Meta2::Strategies::#{@strategy.to_s.camelize}"
12
+
13
+ strategy = strategy_class_name.constantize.new @options
14
+ strategy.detect
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,40 @@
1
+ module Meta2
2
+ module Strategies
3
+ attr_reader :options, :config, :formats
4
+
5
+ def initialize(options)
6
+ @options = options
7
+ @config = Meta2.config
8
+ end
9
+
10
+ def detect
11
+ raise "`detect` method Must be need to overriden"
12
+ end
13
+
14
+
15
+ protected
16
+
17
+ def retrieve_parts
18
+ @options[:prefixes].detect do |prefix|
19
+ path = build_path prefix
20
+ result = yield path
21
+ Meta2.debug "part path:#{path} #{result ? 'hit' : 'miss'}"
22
+ result
23
+ end
24
+ end
25
+
26
+ def build_path(prefix)
27
+ path_prefix = prefix.gsub '/', '.'
28
+ '%s.parts.%s.%s' % [
29
+ @config.assign_name, path_prefix, @options[:template]
30
+ ]
31
+ end
32
+
33
+ def default_formats
34
+ hash = @config.columns.map do |column|
35
+ [column, '%']
36
+ end
37
+ Hash[*hash.flatten]
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,50 @@
1
+ module Meta2
2
+ module Strategies
3
+ class ActiveRecord
4
+ include Meta2::Strategies
5
+
6
+ def detect
7
+ absorber = Meta2::Absorber.new
8
+ absorber.formats = get_section :formats
9
+ absorber.defaults = get_section :defaults
10
+
11
+ retrieve_parts do |path|
12
+ settings = parts.where path: path
13
+ section = settings.find_each.map do |setting|
14
+ [setting.name.to_sym, setting.value]
15
+ end
16
+ next nil if section.blank?
17
+ absorber.parts = Hash[*section.flatten]
18
+ end
19
+ absorber.parts ||= Hash.new
20
+
21
+ absorber
22
+ end
23
+
24
+ def build_path(prefix)
25
+ path_prefix = prefix.gsub '/', '.'
26
+ '%s.%s' % [path_prefix, @options[:template]]
27
+ end
28
+
29
+
30
+ private
31
+
32
+ def parts
33
+ targets.where section: :parts
34
+ end
35
+
36
+ def get_section(namespace)
37
+ section = targets.where(section: namespace).find_each.map do |setting|
38
+ [setting.name.to_sym, setting.value]
39
+ end
40
+ section = Hash[*section.flatten]
41
+
42
+ default_formats.merge section
43
+ end
44
+
45
+ def targets
46
+ Meta2::Models::MetaSetting.where app_name: @config[:assign_name]
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,47 @@
1
+ module Meta2
2
+ module Strategies
3
+ class I18n
4
+ include Meta2::Strategies
5
+
6
+ FAILURE_KEYWORD = '___failure_keyword___'
7
+
8
+ def detect
9
+ absorber = Meta2::Absorber.new
10
+ absorber.formats = formats
11
+
12
+ absorber.defaults = catch_path :defaults
13
+ if absorber.defaults.blank?
14
+ absorber.defaults = Hash.new
15
+ absorber.parts = Hash.new
16
+ return absorber
17
+ end
18
+
19
+ retrieve_parts do |path|
20
+ parts = ::I18n.t path, default: FAILURE_KEYWORD
21
+ FAILURE_KEYWORD == parts.to_s ? nil : (absorber.parts = parts)
22
+ end
23
+ absorber.parts ||= Hash.new
24
+
25
+ absorber
26
+ end
27
+
28
+ private
29
+
30
+ def catch_path(namespace)
31
+ path = "#{@config.assign_name}.#{namespace}"
32
+ Meta2.debug "#{namespace} path:#{path}"
33
+ content = ::I18n.t path, default: FAILURE_KEYWORD
34
+ FAILURE_KEYWORD == content.to_s ? nil : content
35
+ end
36
+
37
+ def formats
38
+ if @formats.present?
39
+ @formats
40
+ else
41
+ _formats = catch_path(:formats).presence || Hash.new
42
+ Hash[*default_formats.flatten].merge _formats
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,3 @@
1
+ module Meta2
2
+ VERSION = "0.0.1"
3
+ end
data/meta2.gemspec ADDED
@@ -0,0 +1,28 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'meta2/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "meta2"
8
+ spec.version = Meta2::VERSION
9
+ spec.authors = ["manabu.oshiro"]
10
+ spec.email = ["manabu.oshiro@zinbun.com"]
11
+ spec.summary = %q{Implementation of the order to easily manage the meta-information.}
12
+ spec.description = %q{Implementation of the order to easily manage the meta-information for enginners and service managers.}
13
+ spec.homepage = "https://github.com/manoshiro/meta2"
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files -z`.split("\x0")
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_dependency "i18n", "~> 0.7.0"
22
+ spec.add_dependency "activesupport", '>= 4.0.0', '< 5'
23
+
24
+
25
+ spec.add_development_dependency "bundler", "~> 1.7"
26
+ spec.add_development_dependency "rake", "~> 10.0"
27
+ spec.add_development_dependency "rspec", "~> 3.3"
28
+ end
@@ -0,0 +1,11 @@
1
+ require 'spec_helper'
2
+
3
+ describe Meta2 do
4
+ it 'has a version number' do
5
+ expect(Meta2::VERSION).not_to be nil
6
+ end
7
+
8
+ it 'does something useful' do
9
+ expect(false).to eq(true)
10
+ end
11
+ end
@@ -0,0 +1,2 @@
1
+ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
2
+ require 'meta2'
metadata ADDED
@@ -0,0 +1,152 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: meta2
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - manabu.oshiro
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-07-02 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: i18n
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.7.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.7.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: activesupport
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 4.0.0
34
+ - - "<"
35
+ - !ruby/object:Gem::Version
36
+ version: '5'
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.0
44
+ - - "<"
45
+ - !ruby/object:Gem::Version
46
+ version: '5'
47
+ - !ruby/object:Gem::Dependency
48
+ name: bundler
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '1.7'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '1.7'
61
+ - !ruby/object:Gem::Dependency
62
+ name: rake
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '10.0'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '10.0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: rspec
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '3.3'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '3.3'
89
+ description: Implementation of the order to easily manage the meta-information for
90
+ enginners and service managers.
91
+ email:
92
+ - manabu.oshiro@zinbun.com
93
+ executables: []
94
+ extensions: []
95
+ extra_rdoc_files: []
96
+ files:
97
+ - ".gitignore"
98
+ - ".rspec"
99
+ - ".travis.yml"
100
+ - Gemfile
101
+ - Gemfile.lock
102
+ - LICENSE.txt
103
+ - README.md
104
+ - Rakefile
105
+ - lib/generators/active_record/meta2_generator.rb
106
+ - lib/generators/active_record/templates/migration.rb
107
+ - lib/generators/meta2/install_generator.rb
108
+ - lib/generators/templates/README
109
+ - lib/generators/templates/config/initializers/meta2.rb
110
+ - lib/generators/templates/config/locales/meta2.ja.yml
111
+ - lib/meta2.rb
112
+ - lib/meta2/absorber.rb
113
+ - lib/meta2/alias_method_chains.rb
114
+ - lib/meta2/helpers/action_view_extension.rb
115
+ - lib/meta2/models/meta_setting.rb
116
+ - lib/meta2/rails.rb
117
+ - lib/meta2/railtie.rb
118
+ - lib/meta2/resolver.rb
119
+ - lib/meta2/strategies.rb
120
+ - lib/meta2/strategies/active_record.rb
121
+ - lib/meta2/strategies/i18n.rb
122
+ - lib/meta2/version.rb
123
+ - meta2.gemspec
124
+ - spec/meta2_spec.rb
125
+ - spec/spec_helper.rb
126
+ homepage: https://github.com/manoshiro/meta2
127
+ licenses:
128
+ - MIT
129
+ metadata: {}
130
+ post_install_message:
131
+ rdoc_options: []
132
+ require_paths:
133
+ - lib
134
+ required_ruby_version: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ required_rubygems_version: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - ">="
142
+ - !ruby/object:Gem::Version
143
+ version: '0'
144
+ requirements: []
145
+ rubyforge_project:
146
+ rubygems_version: 2.2.2
147
+ signing_key:
148
+ specification_version: 4
149
+ summary: Implementation of the order to easily manage the meta-information.
150
+ test_files:
151
+ - spec/meta2_spec.rb
152
+ - spec/spec_helper.rb