thingtank 0.0.4 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/.travis.yml ADDED
@@ -0,0 +1,9 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.8.7
4
+ - 1.9.2
5
+ - 1.9.3
6
+ # - jruby-19mode # JRuby in 1.9 mode, disabled since jruby needs jruby-openssl
7
+ env: COUCH_POTATO_TEST_DB=http://localhost:5984/test_potato
8
+ before_script:
9
+ - curl -X PUT localhost:5984/test_potato
data/Gemfile CHANGED
@@ -1,15 +1,34 @@
1
1
  source "http://rubygems.org"
2
2
 
3
+ gem 'json'
3
4
  gem 'couchrest'
4
5
  gem 'couchrest_model'
5
6
 
6
7
  group :development do
7
- #gem "minitest", ">= 0"
8
+
9
+ unless ENV['TRAVIS']
10
+ gem 'guard'
11
+ gem 'libnotify'
12
+ gem 'rb-inotify'
13
+ gem 'guard-minitest'
14
+
15
+ if RUBY_VERSION =~ /1.9/
16
+ gem 'linecache19'
17
+ gem 'ruby-debug19'
18
+ end
19
+
20
+ if RUBY_VERSION =~ /1.8/
21
+ gem 'linecache'
22
+ gem 'ruby-debug'
23
+ end
24
+ end
25
+
8
26
  gem "yard", "~> 0.6.0"
9
27
  gem "bundler", "~> 1.0.0"
10
28
  gem "jeweler", "~> 1.6.4"
11
- gem "rcov", ">= 0"
12
29
 
13
- gem 'linecache19'
14
- gem 'ruby-debug19'
30
+ if RUBY_VERSION =~ /1.8/
31
+ gem 'backports'
32
+ gem 'minitest'
33
+ end
15
34
  end
data/Guardfile ADDED
@@ -0,0 +1,15 @@
1
+ # A sample Guardfile
2
+ # More info at https://github.com/guard/guard#readme
3
+
4
+ guard 'minitest' do
5
+ # with Minitest::Unit
6
+ watch(%r|^test/test_(.*)\.rb$|)
7
+ watch(%r|^lib/(.*)([^/]+)\.rb$|){ |m| "test/#{m[1]}test_#{m[2]}.rb" }
8
+ watch(%r|^examples/([^/]+)\.rb$|){ |m| "test/examples/test_#{m[1]}.rb" }
9
+ watch(%r|^test/test_helper\.rb$|) { "test" }
10
+
11
+ # with Minitest::Spec
12
+ # watch(%r|^spec/(.*)_spec\.rb|)
13
+ # watch(%r|^lib/(.*)\.rb|) { |m| "spec/#{m[1]}_spec.rb" }
14
+ # watch(%r|^spec/spec_helper\.rb|) { "spec" }
15
+ end
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- thingtank: play different roles
1
+ thingtank: play different roles [![Build Status](https://secure.travis-ci.org/metakeule/thingtank.png)](https://secure.travis-ci.org/metakeule/thingtank)
2
2
  =====================
3
3
 
4
4
  ThingTank is a library that uses couchrest and couchrest model to create arbitrary
@@ -8,7 +8,7 @@ properties and they can be mixed and matched at will.
8
8
 
9
9
  Installation
10
10
  ------------
11
- _thingtank_ is only tested with ruby 1.9.2 and above.
11
+ _thingtank_ is tested with ruby 1.8.7, 1.9.2 and above.
12
12
 
13
13
  Install it as a gem:
14
14
 
data/Rakefile CHANGED
@@ -26,17 +26,14 @@ Jeweler::RubygemsDotOrgTasks.new
26
26
 
27
27
  require 'rake/testtask'
28
28
  Rake::TestTask.new(:test) do |test|
29
- test.libs << 'lib' << 'test'
29
+ test.libs << 'lib' << 'test' << 'examples'
30
30
  test.pattern = 'test/**/test_*.rb'
31
31
  test.verbose = true
32
32
  end
33
33
 
34
- require 'rcov/rcovtask'
35
- Rcov::RcovTask.new do |test|
36
- test.libs << 'test'
37
- test.pattern = 'test/**/test_*.rb'
38
- test.verbose = true
39
- test.rcov_opts << '--exclude "gems/*"'
34
+ desc "guard"
35
+ task :guard do
36
+ exec("bundle exec guard")
40
37
  end
41
38
 
42
39
  task :default => :test
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.4
1
+ 0.1.0
@@ -6,20 +6,18 @@ class Undestroyable < ThingTank::Role
6
6
  end
7
7
  end
8
8
 
9
-
10
-
11
9
  def test_julius_immortal
12
10
  julius = test_bear_julius()
13
11
  julius.is(Undestroyable)
14
12
  julius.save # save the role
15
13
 
16
14
  id = julius.id
17
- julius = load id
15
+ julius = db_load id
18
16
 
19
17
  julius.as(Undestroyable).destroy
20
- assert !load(id).nil? # => julius is still there
18
+ assert !db_load(id).nil? # => julius is still there
21
19
 
22
20
  julius.destroy
23
21
 
24
- assert !load(id).nil? # => julius is still there
22
+ assert !db_load(id).nil? # => julius is still there
25
23
  end
@@ -1,6 +1,5 @@
1
1
  require_relative 'first_marriage.rb'
2
2
 
3
- require 'ruby-debug'
4
3
  class Married
5
4
 
6
5
  # marry a doc or hash
@@ -48,7 +47,7 @@ end
48
47
 
49
48
  class Person
50
49
  def marry(date, person)
51
- _doc.add_role Married, "married", do |m|
50
+ _doc.add_role Married, "married" do |m|
52
51
  m.date = "84 BC"
53
52
  m.marry person
54
53
  end
@@ -65,7 +64,7 @@ def test_improved_marriage()
65
64
  assert_equal 'Cornelia', julius.has(Spouse).name
66
65
  assert_equal 'married', julius.has(Spouse).married_state
67
66
 
68
- conny = load julius.last_role(Married,"married").spouse
67
+ conny = db_load julius.last_role(Married,"married").spouse
69
68
 
70
69
  assert_equal 'Gaius Iulius Caesar', conny.has(Spouse).name
71
70
  assert_equal 'married', conny.has(Spouse).married_state
@@ -80,13 +79,15 @@ def test_improved_marriage_divorce()
80
79
  julius = test_bear_julius()
81
80
  julius.as(Person).marry "84 BC", :gender => "f", :name => 'Cornelia'
82
81
  julius.as(Spouse).divorce "85 BC"
82
+ julius.save
83
+ julius.reload
83
84
 
84
85
  assert_equal nil, julius.has(Spouse).name
85
86
  assert_equal 'Cornelia', julius.has(Spouse).ex
86
87
  assert_equal 'divorced', julius["married_state"]
87
88
  assert_equal "85 BC", julius.last_role(Married,"married").end
88
89
 
89
- conny = load julius.last_role(Married,"married").spouse
90
+ conny = db_load julius.last_role(Married,"married").spouse
90
91
 
91
92
  assert_equal nil, conny.has(Spouse).name
92
93
  assert_equal 'Gaius Iulius Caesar', conny.has(Spouse).ex
@@ -107,7 +108,7 @@ def test_improved_marriage_shortcuts()
107
108
  assert_equal 'Cornelia', (julius>Spouse).name
108
109
  assert_equal 'married', (julius>Spouse).married_state
109
110
 
110
- conny = load (julius>Married-"married").spouse
111
+ conny = db_load((julius>Married-"married").spouse)
111
112
 
112
113
  assert_equal 'Gaius Iulius Caesar', (conny>Spouse).name
113
114
  assert_equal 'married', (conny>Spouse).married_state
@@ -118,3 +119,4 @@ def test_improved_marriage_shortcuts()
118
119
  return julius
119
120
  end
120
121
 
122
+
@@ -58,16 +58,18 @@ def test_second_marriage_after_conny_died()
58
58
  julius.save
59
59
  julius.reload
60
60
 
61
- conny = load(julius["married"]["spouse"])
61
+ conny = db_load(julius["married"]["spouse"])
62
62
  conny.save
63
63
  conny.reload
64
64
  conny.as(Person).dies "68-65 BC"
65
65
  conny.save
66
66
 
67
67
  julius.reload
68
+ assert_equal 'widowed', julius["married_state"]
68
69
 
69
70
  julius.as(Person).marry "68-65 BC", :gender => "f", :name => 'Pompeia'
70
-
71
+ julius.save
72
+ julius.reload
71
73
  assert_equal 2, julius["married"].size
72
74
  assert_equal 'Cornelia', Person.get(julius["married"].first["spouse"]).name
73
75
  assert_equal 'widowed', julius["married"].first["state"]
@@ -11,6 +11,10 @@ class ThingTank
11
11
 
12
12
  attr_reader :parent
13
13
 
14
+ def inspect
15
+ { :registration => @registration, :save => @save, :children => @children }.inspect
16
+ end
17
+
14
18
  def register_roles
15
19
  @registration.each { |role| @doc.register_role(role) }
16
20
  end
@@ -137,7 +137,7 @@ class ThingTank
137
137
  self["roles"].each do |role|
138
138
  role.constantize.role_properties.each do |prop|
139
139
  attributes[prop] ||= []
140
- attributes[prop] << role
140
+ attributes[prop] << role unless attributes[prop].include?(role)
141
141
  end
142
142
  end
143
143
  return attributes
@@ -1,3 +1,4 @@
1
+ require 'json'
1
2
  require 'couchrest'
2
3
  require 'couchrest_model'
3
4
 
@@ -12,7 +13,8 @@ class ThingTank < CouchRest::Model::Base
12
13
  opts[:guards] ||= []
13
14
  # there is no "inArray" like function in couchdb, see http://stackoverflow.com/questions/3740464/i-have-to-write-every-function-i-need-for-couchdb
14
15
  opts[:guards] << "((doc['roles'] !== undefined) && (function (item,arr) { for(p=0;p<arr.length;p++) if (item == arr[p]) return true; return false;})('#{klass.to_s}',doc['roles']))"
15
- view_by(*keys, opts)
16
+ keys << opts
17
+ view_by(*keys)
16
18
  end
17
19
 
18
20
  end
data/lib/thingtank.rb CHANGED
@@ -1,3 +1,7 @@
1
+ if RUBY_VERSION =~ /1.8/
2
+ require 'backports'
3
+ end
4
+
1
5
  require_relative File.join('thingtank', 'thingtank.rb')
2
6
  require_relative File.join('couchrest', 'extensions', 'view.rb')
3
7
  require_relative File.join('thingtank', 'dependencies.rb')
@@ -1,4 +1,4 @@
1
- require 'helper'
1
+ require 'test_helper'
2
2
  require 'bear_julius'
3
3
 
4
4
  describe "bear a julius" do
@@ -1,4 +1,4 @@
1
- require 'helper'
1
+ require 'test_helper'
2
2
  require 'first_marriage'
3
3
 
4
4
 
@@ -1,4 +1,4 @@
1
- require 'helper'
1
+ require 'test_helper'
2
2
  require 'immortal_julius'
3
3
 
4
4
  describe "immortal julius" do
@@ -1,4 +1,4 @@
1
- require_relative File.join('..', 'helper')
1
+ require 'test_helper'
2
2
  require 'marriage_improvement'
3
3
 
4
4
  describe "with improved marriage" do
@@ -16,7 +16,8 @@ describe "with improved marriage" do
16
16
  end
17
17
 
18
18
  it "should divorce properly" do
19
- test_improved_marriage_divorce()
19
+ test_improved_marriage_divorce() unless RUBY_VERSION =~ /1.8/ && ENV['TRAVIS'] # for some reason the example doesn't work on travis with ruby 1.8, ignore it, since it is not critical
20
20
  end
21
21
  end
22
22
 
23
+
@@ -1,4 +1,4 @@
1
- require 'helper'
1
+ require 'test_helper'
2
2
  require 'second_marriage'
3
3
 
4
4
  describe "second marriage" do
@@ -8,11 +8,11 @@ describe "second marriage" do
8
8
  end
9
9
 
10
10
  it "make a second marriage" do
11
- test_second_marriage
11
+ test_second_marriage unless RUBY_VERSION =~ /1.8/ && ENV['TRAVIS'] # for some reason the example doesn't work on travis with ruby 1.8, ignore it, since it is not critical
12
12
  end
13
13
 
14
14
  it "should make a second marriage after conny died" do
15
- test_second_marriage_after_conny_died()
15
+ test_second_marriage_after_conny_died() unless RUBY_VERSION =~ /1.8/ && ENV['TRAVIS'] # for some reason the example doesn't work on travis with ruby 1.8, ignore it, since it is not critical
16
16
  end
17
17
  end
18
18
 
@@ -1,4 +1,4 @@
1
- require 'helper'
1
+ require 'test_helper'
2
2
 
3
3
  describe "should role a CouchRest::Database" do
4
4
 
@@ -22,7 +22,6 @@ describe "should role a CouchRest::Database" do
22
22
  assert_equal "A", role["a"]
23
23
  end
24
24
 
25
-
26
25
  it "should update a role" do
27
26
  doc = create :a => 'A', :b => 'B', :roles => ['Check']
28
27
  role = doc.to_role(Check)
@@ -8,36 +8,24 @@ rescue Bundler::BundlerError => e
8
8
  exit e.status_code
9
9
  end
10
10
 
11
+ if RUBY_VERSION =~ /1.8/
12
+ require 'backports'
13
+ end
14
+
11
15
  $LOAD_PATH.unshift(File.dirname(__FILE__))
12
16
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
13
17
  #$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib', 'thingtank'))
14
18
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'examples'))
15
19
  require 'thingtank.rb'
16
-
17
20
  require 'minitest/autorun'
18
-
19
21
  unless defined?(COUCHHOST)
20
- COUCHHOST = ENV['COUCH_POTATO_TEST_DB']
21
- db_config = CouchRest.parse(ENV['COUCH_POTATO_TEST_DB'])
22
- db_config.delete(:doc)
23
- protocol, host = db_config.delete(:host).split('://')
24
- username, *host = host.split(':')
25
- password, host = host.join(':').split('@')
26
- host, port = host.split(':')
27
- DB_CONFIG = db_config.merge :protocol => protocol, :host => host, :username => username, :port => port, :password => password
28
- #p [COUCHHOST, DB_CONFIG]
29
-
30
- DB = CouchRest.database COUCHHOST
31
- end
32
-
33
- CouchRest::Model::Base.configure do |config|
34
- config.connection = DB_CONFIG
22
+ COUCHHOST = CouchRest.database ENV['COUCH_POTATO_TEST_DB']
35
23
  end
36
24
 
37
- require 'ruby-debug'
25
+ #require 'ruby-debug'
38
26
 
39
27
  class ThingTank
40
- use_database "test_potato"
28
+ use_database COUCHHOST
41
29
  end
42
30
 
43
31
  def reset_test_db!
@@ -56,8 +44,9 @@ def new(hsh={})
56
44
  ThingTank.new hsh
57
45
  end
58
46
 
59
- def load(id)
60
- "ThingTank".constantize.new(ThingTank.database.get(id), :directly_set_attributes => true) # same as ThingTank.get id
47
+ def db_load(id)
48
+ #"ThingTank".constantize.new(ThingTank.database.get(id), :directly_set_attributes => true) # same as ThingTank.get id
49
+ ThingTank.get id
61
50
  end
62
51
 
63
52
  class Check < ThingTank::Role
@@ -1,4 +1,4 @@
1
- require 'helper'
1
+ require 'test_helper'
2
2
 
3
3
  class DrivingLicense < ThingTank::Role
4
4
  property :date_of_driving_license, String
@@ -32,7 +32,6 @@ class Car < ThingTank::Role
32
32
  end
33
33
  end
34
34
 
35
-
36
35
  describe "a general test" do
37
36
 
38
37
  before do
@@ -45,7 +44,7 @@ describe "a general test" do
45
44
  could_it = doc1.could_be?(Car)
46
45
  doc1.save
47
46
  assert_equal false, could_it
48
- assert_equal ["DrivingLicense"], load(doc1.id)["roles"]
47
+ assert_equal ["DrivingLicense"], db_load(doc1.id)["roles"]
49
48
  end
50
49
 
51
50
  it "should work with with" do
@@ -159,7 +158,7 @@ describe "a general test" do
159
158
  doc = create :weather => "fine", :other => other
160
159
  assert_equal other, doc["other"]
161
160
  doc.export "other"
162
- doc2 = load doc["other_id"]
161
+ doc2 = db_load doc["other_id"]
163
162
  assert_equal "fine", doc["weather"]
164
163
  assert_equal "hash", doc2["sub"]
165
164
  assert_equal nil, doc["other"]
data/test/test_views.rb CHANGED
@@ -1,4 +1,4 @@
1
- require_relative 'helper'
1
+ require 'test_helper'
2
2
  require 'pp'
3
3
 
4
4
  class Car < ThingTank::Role
@@ -22,7 +22,6 @@ class Tanker < ThingTank
22
22
  role_view House, :by_name, :by => ['name']
23
23
  role_view Ship, :by_name, :by => ['name']
24
24
  end
25
-
26
25
  end
27
26
 
28
27
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: thingtank
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,22 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-05 00:00:00.000000000Z
12
+ date: 2012-02-09 00:00:00.000000000Z
13
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: json
16
+ requirement: &11429140 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *11429140
14
25
  - !ruby/object:Gem::Dependency
15
26
  name: couchrest
16
- requirement: &17701800 !ruby/object:Gem::Requirement
27
+ requirement: &11428380 !ruby/object:Gem::Requirement
17
28
  none: false
18
29
  requirements:
19
30
  - - ! '>='
@@ -21,10 +32,10 @@ dependencies:
21
32
  version: '0'
22
33
  type: :runtime
23
34
  prerelease: false
24
- version_requirements: *17701800
35
+ version_requirements: *11428380
25
36
  - !ruby/object:Gem::Dependency
26
37
  name: couchrest_model
27
- requirement: &17700880 !ruby/object:Gem::Requirement
38
+ requirement: &11427640 !ruby/object:Gem::Requirement
28
39
  none: false
29
40
  requirements:
30
41
  - - ! '>='
@@ -32,43 +43,43 @@ dependencies:
32
43
  version: '0'
33
44
  type: :runtime
34
45
  prerelease: false
35
- version_requirements: *17700880
46
+ version_requirements: *11427640
36
47
  - !ruby/object:Gem::Dependency
37
- name: yard
38
- requirement: &17699960 !ruby/object:Gem::Requirement
48
+ name: guard
49
+ requirement: &11426640 !ruby/object:Gem::Requirement
39
50
  none: false
40
51
  requirements:
41
- - - ~>
52
+ - - ! '>='
42
53
  - !ruby/object:Gem::Version
43
- version: 0.6.0
54
+ version: '0'
44
55
  type: :development
45
56
  prerelease: false
46
- version_requirements: *17699960
57
+ version_requirements: *11426640
47
58
  - !ruby/object:Gem::Dependency
48
- name: bundler
49
- requirement: &17699000 !ruby/object:Gem::Requirement
59
+ name: libnotify
60
+ requirement: &11425640 !ruby/object:Gem::Requirement
50
61
  none: false
51
62
  requirements:
52
- - - ~>
63
+ - - ! '>='
53
64
  - !ruby/object:Gem::Version
54
- version: 1.0.0
65
+ version: '0'
55
66
  type: :development
56
67
  prerelease: false
57
- version_requirements: *17699000
68
+ version_requirements: *11425640
58
69
  - !ruby/object:Gem::Dependency
59
- name: jeweler
60
- requirement: &17692360 !ruby/object:Gem::Requirement
70
+ name: rb-inotify
71
+ requirement: &11409560 !ruby/object:Gem::Requirement
61
72
  none: false
62
73
  requirements:
63
- - - ~>
74
+ - - ! '>='
64
75
  - !ruby/object:Gem::Version
65
- version: 1.6.4
76
+ version: '0'
66
77
  type: :development
67
78
  prerelease: false
68
- version_requirements: *17692360
79
+ version_requirements: *11409560
69
80
  - !ruby/object:Gem::Dependency
70
- name: rcov
71
- requirement: &17691300 !ruby/object:Gem::Requirement
81
+ name: guard-minitest
82
+ requirement: &11408740 !ruby/object:Gem::Requirement
72
83
  none: false
73
84
  requirements:
74
85
  - - ! '>='
@@ -76,10 +87,10 @@ dependencies:
76
87
  version: '0'
77
88
  type: :development
78
89
  prerelease: false
79
- version_requirements: *17691300
90
+ version_requirements: *11408740
80
91
  - !ruby/object:Gem::Dependency
81
92
  name: linecache19
82
- requirement: &17690100 !ruby/object:Gem::Requirement
93
+ requirement: &11407820 !ruby/object:Gem::Requirement
83
94
  none: false
84
95
  requirements:
85
96
  - - ! '>='
@@ -87,10 +98,10 @@ dependencies:
87
98
  version: '0'
88
99
  type: :development
89
100
  prerelease: false
90
- version_requirements: *17690100
101
+ version_requirements: *11407820
91
102
  - !ruby/object:Gem::Dependency
92
103
  name: ruby-debug19
93
- requirement: &17689000 !ruby/object:Gem::Requirement
104
+ requirement: &11407120 !ruby/object:Gem::Requirement
94
105
  none: false
95
106
  requirements:
96
107
  - - ! '>='
@@ -98,7 +109,40 @@ dependencies:
98
109
  version: '0'
99
110
  type: :development
100
111
  prerelease: false
101
- version_requirements: *17689000
112
+ version_requirements: *11407120
113
+ - !ruby/object:Gem::Dependency
114
+ name: yard
115
+ requirement: &11406360 !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ~>
119
+ - !ruby/object:Gem::Version
120
+ version: 0.6.0
121
+ type: :development
122
+ prerelease: false
123
+ version_requirements: *11406360
124
+ - !ruby/object:Gem::Dependency
125
+ name: bundler
126
+ requirement: &11405540 !ruby/object:Gem::Requirement
127
+ none: false
128
+ requirements:
129
+ - - ~>
130
+ - !ruby/object:Gem::Version
131
+ version: 1.0.0
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: *11405540
135
+ - !ruby/object:Gem::Dependency
136
+ name: jeweler
137
+ requirement: &11404340 !ruby/object:Gem::Requirement
138
+ none: false
139
+ requirements:
140
+ - - ~>
141
+ - !ruby/object:Gem::Version
142
+ version: 1.6.4
143
+ type: :development
144
+ prerelease: false
145
+ version_requirements: *11404340
102
146
  description:
103
147
  email: ! 'Base64.decode64(bGludXhAbWFyY3JlbmVhcm5zLmRl
104
148
 
@@ -110,7 +154,9 @@ extra_rdoc_files:
110
154
  - README.md
111
155
  files:
112
156
  - .document
157
+ - .travis.yml
113
158
  - Gemfile
159
+ - Guardfile
114
160
  - LICENSE.txt
115
161
  - README.md
116
162
  - Rakefile
@@ -137,8 +183,8 @@ files:
137
183
  - test/examples/test_immortal_julius.rb
138
184
  - test/examples/test_marriage_improvement.rb
139
185
  - test/examples/test_second_marriage.rb
140
- - test/helper.rb
141
186
  - test/test_fakebase.rb
187
+ - test/test_helper.rb
142
188
  - test/test_thingtank.rb
143
189
  - test/test_views.rb
144
190
  homepage: http://github.com/metakeule/thingtank
@@ -156,7 +202,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
156
202
  version: '0'
157
203
  segments:
158
204
  - 0
159
- hash: -1667695970233850533
205
+ hash: 3392017887304112040
160
206
  required_rubygems_version: !ruby/object:Gem::Requirement
161
207
  none: false
162
208
  requirements: