dm-is-predefined 0.3.1 → 0.4.0

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.
@@ -1,3 +1,18 @@
1
+ ### 0.4.0 / 2011-07-28
2
+
3
+ * Added {DataMapper::Is::Predefined::MigrationMethods}.
4
+ * Overrides `auto_migrate!` and `auto_upgrade!` to auto-predefine
5
+ the resources after auto-migrations.
6
+ * Added {DataMapper::Is::Predefined::ClassMethods#predefine!}.
7
+ * Added {DataMapper::Is::Predefined::ClassMethods#predefined}.
8
+ * Added {DataMapper::Is::Predefined::ClassMethods#predefined?}.
9
+ * Added {DataMapper::Is::Predefined::ClassMethods#first_or_predefined}.
10
+ * Made {DataMapper::Is::Predefined::ClassMethods#predefined_attributes} public.
11
+ * Deprecated {DataMapper::Is::Predefined::ClassMethods#predefined_resource_with}
12
+ in favor of {DataMapper::Is::Predefined::ClassMethods#first_or_predefined}.
13
+ * Deprecated {DataMapper::Is::Predefined::ClassMethods#predefined_names}
14
+ in favor of {DataMapper::Is::Predefined::ClassMethods#predefined}.
15
+
1
16
  ### 0.3.1 / 2011-02-28
2
17
 
3
18
  * Require dm-core ~> 1.0.
data/Gemfile CHANGED
@@ -99,7 +99,7 @@ end
99
99
  gem 'dm-core', DM_VERSION, :git => "#{DATAMAPPER}/dm-core.git"
100
100
 
101
101
  group :development do
102
- gem 'rake', '~> 0.8.7'
102
+ gem 'rake', '~> 0.8'
103
103
 
104
104
  gem 'ore-tasks', '~> 0.4'
105
105
  gem 'rspec', '~> 2.4'
data/README.md CHANGED
@@ -34,25 +34,29 @@ A DataMapper plugin for adding predefined resources to Models.
34
34
 
35
35
  end
36
36
 
37
+
38
+ License.predefined
39
+ # => [:gpl2, :mit]
40
+
41
+ License.predefined?(:gpl2)
42
+ # => true
43
+
37
44
  Licence.gpl2
38
45
  # => #<Licence: id: 1, name: "GPL-2", url: "http://www.gnu.org/copyleft/gpl.html">
39
-
46
+
40
47
  Licence.predefined_resource(:mit)
41
48
  # => #<Licence: id: 2, name: "MIT">
42
49
 
43
- License.predefined_resource_with(:name => 'GPL-2')
50
+ License.first_or_predefined(:name => 'GPL-2')
44
51
  # => #<License: id: 1, name: "GPL-2", url: "http://www.gnu.org/copyleft/gpl.html">
45
52
 
46
- License.predefined_names
47
- # => [:gpl2, :mit]
48
-
49
53
  ## Requirements
50
54
 
51
55
  * [dm-core](http://github.com/datamapper/dm-core/) ~> 1.0
52
56
 
53
57
  ## Install
54
58
 
55
- $ sudo gem install dm-is-predefined
59
+ $ gem install dm-is-predefined
56
60
 
57
61
  ## License
58
62
 
data/Rakefile CHANGED
@@ -3,16 +3,16 @@ require 'rubygems'
3
3
  begin
4
4
  require 'bundler'
5
5
  rescue LoadError => e
6
- STDERR.puts e.message
7
- STDERR.puts "Run `gem install bundler` to install Bundler."
6
+ warn e.message
7
+ warn "Run `gem install bundler` to install Bundler."
8
8
  exit e.status_code
9
9
  end
10
10
 
11
11
  begin
12
12
  Bundler.setup(:development)
13
13
  rescue Bundler::BundlerError => e
14
- STDERR.puts e.message
15
- STDERR.puts "Run `bundle install` to install missing gems"
14
+ warn e.message
15
+ warn "Run `bundle install` to install missing gems"
16
16
  exit e.status_code
17
17
  end
18
18
 
@@ -1,15 +1,127 @@
1
- # -*- encoding: utf-8 -*-
2
-
3
- begin
4
- Ore::Specification.new do |gemspec|
5
- # custom logic here
6
- end
7
- rescue NameError
8
- begin
9
- require 'ore/specification'
10
- retry
11
- rescue LoadError
12
- STDERR.puts "The '#{__FILE__}' file requires Ore."
13
- STDERR.puts "Run `gem install ore-core` to install Ore."
1
+ # encoding: utf-8
2
+
3
+ require 'yaml'
4
+
5
+ Gem::Specification.new do |gemspec|
6
+ files = if File.directory?('.git')
7
+ `git ls-files`.split($/)
8
+ elsif File.directory?('.hg')
9
+ `hg manifest`.split($/)
10
+ elsif File.directory?('.svn')
11
+ `svn ls -R`.split($/).select { |path| File.file?(path) }
12
+ else
13
+ Dir['{**/}{.*,*}'].select { |path| File.file?(path) }
14
+ end
15
+
16
+ filter_files = lambda { |paths|
17
+ case paths
18
+ when Array
19
+ (files & paths)
20
+ when String
21
+ (files & Dir[paths])
22
+ end
23
+ }
24
+
25
+ version = {
26
+ :file => 'lib/dm-is-predefined/version.rb',
27
+ :constant => 'DataMapper::Is::Predefined::VERSION'
28
+ }
29
+
30
+ defaults = {
31
+ 'name' => File.basename(File.dirname(__FILE__)),
32
+ 'files' => files,
33
+ 'executables' => filter_files['bin/*'].map { |path| File.basename(path) },
34
+ 'test_files' => filter_files['{test/{**/}*_test.rb,spec/{**/}*_spec.rb}'],
35
+ 'extra_doc_files' => filter_files['*.{txt,rdoc,md,markdown,tt,textile}'],
36
+ }
37
+
38
+ metadata = defaults.merge(YAML.load_file('gemspec.yml'))
39
+
40
+ gemspec.name = metadata.fetch('name',defaults[:name])
41
+ gemspec.version = if metadata['version']
42
+ metadata['version']
43
+ elsif File.file?(version[:file])
44
+ require File.join('.',version[:file])
45
+ eval(version[:constant])
46
+ end
47
+
48
+ gemspec.summary = metadata.fetch('summary',metadata['description'])
49
+ gemspec.description = metadata.fetch('description',metadata['summary'])
50
+
51
+ case metadata['license']
52
+ when Array
53
+ gemspec.licenses = metadata['license']
54
+ when String
55
+ gemspec.license = metadata['license']
56
+ end
57
+
58
+ case metadata['authors']
59
+ when Array
60
+ gemspec.authors = metadata['authors']
61
+ when String
62
+ gemspec.author = metadata['authors']
63
+ end
64
+
65
+ gemspec.email = metadata['email']
66
+ gemspec.homepage = metadata['homepage']
67
+
68
+ case metadata['require_paths']
69
+ when Array
70
+ gemspec.require_paths = metadata['require_paths']
71
+ when String
72
+ gemspec.require_path = metadata['require_paths']
73
+ end
74
+
75
+ gemspec.files = filter_files[metadata['files']]
76
+
77
+ gemspec.executables = metadata['executables']
78
+ gemspec.extensions = metadata['extensions']
79
+
80
+ if Gem::VERSION < '1.7.'
81
+ gemspec.default_executable = gemspec.executables.first
82
+ end
83
+
84
+ gemspec.test_files = filter_files[metadata['test_files']]
85
+
86
+ unless gemspec.files.include?('.document')
87
+ gemspec.extra_rdoc_files = metadata['extra_doc_files']
88
+ end
89
+
90
+ gemspec.post_install_message = metadata['post_install_message']
91
+ gemspec.requirements = metadata['requirements']
92
+
93
+ if gemspec.respond_to?(:required_ruby_version=)
94
+ gemspec.required_ruby_version = metadata['required_ruby_version']
95
+ end
96
+
97
+ if gemspec.respond_to?(:required_rubygems_version=)
98
+ gemspec.required_rubygems_version = metadata['required_ruby_version']
99
+ end
100
+
101
+ parse_versions = lambda { |versions|
102
+ case versions
103
+ when Array
104
+ versions.map { |v| v.to_s }
105
+ when String
106
+ versions.split(/,\s*/)
107
+ end
108
+ }
109
+
110
+ if metadata['dependencies']
111
+ metadata['dependencies'].each do |name,versions|
112
+ gemspec.add_dependency(name,parse_versions[versions])
113
+ end
114
+ end
115
+
116
+ if metadata['runtime_dependencies']
117
+ metadata['runtime_dependencies'].each do |name,versions|
118
+ gemspec.add_runtime_dependency(name,parse_versions[versions])
119
+ end
120
+ end
121
+
122
+ if metadata['development_dependencies']
123
+ metadata['development_dependencies'].each do |name,versions|
124
+ gemspec.add_development_dependency(name,parse_versions[versions])
125
+ end
14
126
  end
15
127
  end
@@ -1,5 +1,5 @@
1
1
  name: dm-is-predefined
2
- version: 0.3.1
2
+ version: 0.4.0
3
3
  summary: DataMapper plugin for adding predefined resources to models.
4
4
  description:
5
5
  A DataMapper plugin for adding predefined resources to Models.
@@ -15,4 +15,4 @@ dependencies:
15
15
 
16
16
  development_dependencies:
17
17
  bundler: ~> 1.0.0
18
- yard: ~> 0.6.0
18
+ yard: ~> 0.7.0
@@ -4,94 +4,225 @@ module DataMapper
4
4
  module Is
5
5
  module Predefined
6
6
  #
7
- # Fired when your plugin gets included into Resource.
7
+ # Fired when your plugin gets included into a Model.
8
+ #
9
+ # @note
10
+ # If the model already includes `DataMapper::Migrations`, then
11
+ # {MigrationMethods} will be extended into the Model.
12
+ #
13
+ # @api private
8
14
  #
9
15
  def is_predefined
10
16
  extend DataMapper::Is::Predefined::ClassMethods
17
+
18
+ if defined?(DataMapper::Migrations) &&
19
+ included_modules.include?(DataMapper::Migrations)
20
+ extend MigrationMethods
21
+ end
22
+ end
23
+
24
+ #
25
+ # @since 0.4.0
26
+ #
27
+ module MigrationMethods
28
+ #
29
+ # Auto-migrates the model, then creates all predefined resources.
30
+ #
31
+ # @param [Symbol] repository_name
32
+ # The repository to perform the migrations within.
33
+ #
34
+ # @return [true]
35
+ #
36
+ # @api public
37
+ #
38
+ def auto_migrate!(repository_name=self.repository_name)
39
+ result = super(repository_name)
40
+
41
+ predefine!(repository_name)
42
+ return result
43
+ end
44
+
45
+ #
46
+ # Auto-upgrades the model, then creates any missing predefined
47
+ # resources.
48
+ #
49
+ # @param [Symbol] repository_name
50
+ # The repository to perform the upgrade within.
51
+ #
52
+ # @return [true]
53
+ #
54
+ # @api public
55
+ #
56
+ def auto_upgrade!(repository_name=self.repository_name)
57
+ result = super(repository_name)
58
+
59
+ predefine!(repository_name)
60
+ return result
61
+ end
11
62
  end
12
63
 
13
64
  module ClassMethods
65
+ #
66
+ # All pre-defined resources of the model.
67
+ #
68
+ # @return [Hash{Symbol => Hash}]
69
+ # The Hash of pre-defined resources and their attributes.
70
+ #
71
+ # @api semipublic
72
+ #
73
+ def predefined_attributes
74
+ @predefined_attributes ||= {}
75
+ end
76
+
14
77
  #
15
78
  # Returns the names of the predefined resources.
16
79
  #
17
80
  # @return [Array<Symbol>]
18
81
  # The names of the predefined resources.
19
82
  #
83
+ # @since 0.4.0
84
+ #
85
+ # @api public
86
+ #
87
+ def predefined
88
+ predefined_attributes.keys
89
+ end
90
+
91
+ #
92
+ # @see #predefined
93
+ #
94
+ # @deprecated Will be removed in 1.0.0.
95
+ #
20
96
  # @since 0.2.1
21
97
  #
22
98
  def predefined_names
23
- predefined_attributes.keys
99
+ predefined
24
100
  end
25
101
 
26
102
  #
27
- # Finds or auto-creates the pre-defined resource with the given name.
103
+ # Determines if a resource was predefined.
104
+ #
105
+ # @param [Symbol, String] name
106
+ # The name of the predefined resource to search for.
107
+ #
108
+ # @return [Boolean]
109
+ # Specifies whether the resource was predefined.
110
+ #
111
+ # @since 0.4.0
112
+ #
113
+ # @api public
114
+ #
115
+ def predefined?(name)
116
+ predefined_attributes.has_key?(name.to_sym)
117
+ end
118
+
119
+ #
120
+ # Finds or auto-creates the pre-defined resource with the given
121
+ # name.
28
122
  #
29
123
  # @param [Symbol, String] name
30
124
  # The name of the pre-defined resource.
31
125
  #
126
+ # @param [Hash{Symbol => Object}] extra_attributes
127
+ # Additional attributes to add to the predefined resource.
128
+ #
32
129
  # @return [DataMapper::Resource]
33
130
  # The pre-defined resource.
34
131
  #
35
132
  # @raise [UnknownResource]
36
- # Indicates that there are no predefined attributes for the resource
37
- # with the given name.
133
+ # Indicates that there are no predefined attributes for the
134
+ # resource with the given name.
38
135
  #
39
136
  # @since 0.2.1
40
137
  #
138
+ # @api public
139
+ #
41
140
  def predefined_resource(name)
42
141
  name = name.to_sym
43
- attributes = self.predefined_attributes[name]
44
142
 
45
- unless attributes
46
- raise(UnknownResource,"The resource '#{name}' was not predefined",caller)
143
+ unless predefined?(name)
144
+ raise(UnknownResource,"The resource '#{name}' was not predefined")
47
145
  end
48
146
 
49
- self.first_or_create(attributes)
147
+ return first_or_create(predefined_attributes[name])
50
148
  end
51
149
 
52
150
  #
53
151
  # Finds or auto-creates the predefined resource which shares the
54
152
  # given attributes.
55
153
  #
56
- # @param [Hash{Symbol => Object}] desired_attributes
154
+ # @param [Hash{Symbol => Object}] conditions
155
+ # Query conditions.
156
+ #
157
+ # @param [Hash{Symbol => Object}] attributes
57
158
  # The attribute names and values that the predefined resource
58
159
  # should shared.
59
160
  #
60
- # @return [DataMapper::Resource]
161
+ # @return [DataMapper::Resource, nil]
61
162
  # The predefined resource.
163
+ #
164
+ # @since 0.4.0
165
+ #
166
+ # @api public
167
+ #
168
+ def first_or_predefined(conditions={},attributes=conditions)
169
+ if (resource = first(conditions))
170
+ return resource
171
+ end
172
+
173
+ # if the resource wasn't found, search for matching
174
+ # predefined attributes
175
+ attributes = predefined_attributes.values.find do |attrs|
176
+ attrs.all? do |name,value|
177
+ attributes.has_key?(name) && (attributes[name] == value)
178
+ end
179
+ end
180
+
181
+ # create the resource using the predefined attributes
182
+ create(attributes) if attributes
183
+ end
184
+
62
185
  #
63
186
  # @raise [UnknownResource]
64
187
  # Could not find a predefined resource that shared all of the
65
188
  # desired attributes.
66
189
  #
190
+ # @deprecated
191
+ # Will be removed in 1.0.0. Use {#first_or_predefined} instead.
192
+ #
67
193
  # @since 0.2.1
68
194
  #
69
- def predefined_resource_with(desired_attributes={})
70
- self.predefined_attributes.each do |name,attributes|
71
- shares_attributes = desired_attributes.all? do |key,value|
72
- key = key.to_sym
73
-
74
- attributes.has_key?(key) && (attributes[key] == value)
75
- end
76
-
77
- return predefined_resource(name) if shares_attributes
195
+ # @api public
196
+ #
197
+ def predefined_resource_with(query={})
198
+ unless (resource = first_or_predefined(query))
199
+ # no pre-existing or predefined resource matching the query
200
+ raise(UnknownResource,"Could not find a predefined resource which shared the given attributes")
78
201
  end
79
202
 
80
- raise(UnknownResource,"Could not find a predefined resource which shared the given attributes",caller)
203
+ return resource
81
204
  end
82
205
 
83
- protected
84
-
85
206
  #
86
- # All pre-defined resources of the model.
207
+ # Creates the predefined resources.
87
208
  #
88
- # @return [Hash{Symbol => Hash}]
89
- # The Hash of pre-defined resources and their attributes.
209
+ # @param [Symbol] repository_name
210
+ # The repository to perform the upgrade within.
90
211
  #
91
- def predefined_attributes
92
- @predefined_attributes ||= {}
212
+ # @since 0.4.0
213
+ #
214
+ # @api public
215
+ #
216
+ def predefine!(repository_name=self.repository_name)
217
+ DataMapper.repository(repository_name) do
218
+ predefined_attributes.each_value do |attributes|
219
+ first_or_create(attributes)
220
+ end
221
+ end
93
222
  end
94
223
 
224
+ protected
225
+
95
226
  #
96
227
  # Defines a new pre-defined resource for the model.
97
228
  #
@@ -102,26 +233,29 @@ module DataMapper
102
233
  # The attributes for the pre-defined resource.
103
234
  #
104
235
  # @return [Hash]
105
- # The attributes that will be assigned to the pre-defined resource.
236
+ # The attributes that will be assigned to the pre-defined
237
+ # resource.
238
+ #
239
+ # @api public
106
240
  #
107
241
  def predefine(name,attributes={})
108
- name = name.to_s
242
+ name = name.to_sym
109
243
 
110
244
  if attributes.empty?
111
- raise(ArgumentError,"Cannot predefine a resource with no attributes",caller)
245
+ raise(ArgumentError,"Cannot predefine a resource with no attributes")
112
246
  end
113
247
 
114
- self.predefined_attributes[name.to_sym] = attributes
248
+ predefined_attributes[name] = attributes
115
249
 
116
250
  class_eval %{
117
251
  class << self
118
- define_method(#{name.dump}) do
119
- predefined_resource(#{name.dump})
252
+ define_method(#{name.inspect}) do
253
+ predefined_resource(#{name.inspect})
120
254
  end
121
255
  end
122
256
  }
123
257
 
124
- attributes
258
+ return attributes
125
259
  end
126
260
  end # ClassMethods
127
261
  end # Predefined
@@ -0,0 +1,19 @@
1
+ require 'dm-is-predefined'
2
+
3
+ class MigratedModel
4
+
5
+ include DataMapper::Resource
6
+ include DataMapper::Migrations
7
+
8
+ is :predefined
9
+
10
+ # Primary key of the test model
11
+ property :id, Serial
12
+
13
+ # Name property to test String values
14
+ property :name, String
15
+
16
+ predefine :test1, :name => 'test1'
17
+ predefine :test2, :name => 'test2'
18
+
19
+ end
@@ -1,17 +1,56 @@
1
1
  require 'spec_helper'
2
2
  require 'integration/models/test_model'
3
+ require 'integration/models/migrated_model'
3
4
 
4
5
  describe DataMapper::Is::Predefined do
5
6
  before(:all) do
6
7
  TestModel.auto_migrate!
7
8
  end
8
9
 
10
+ context "migrations" do
11
+ it "should extend MigrationMethods, if Migrations are included" do
12
+ TestModel.should_not be_kind_of(DataMapper::Is::Predefined::MigrationMethods)
13
+ MigratedModel.should be_kind_of(DataMapper::Is::Predefined::MigrationMethods)
14
+ end
15
+
16
+ it "should create all predefined resources after auto_migrate!" do
17
+ MigratedModel.auto_migrate!
18
+
19
+ resources = MigratedModel.all
20
+
21
+ resources[0].id.should == 1
22
+ resources[0].name.should == 'test1'
23
+
24
+ resources[1].id.should == 2
25
+ resources[1].name.should == 'test2'
26
+ end
27
+
28
+ it "should create missing predefined resources after auto_upgrade!" do
29
+ MigratedModel.first(:name => 'test2').destroy!
30
+
31
+ MigratedModel.property :extra, String
32
+ MigratedModel.auto_upgrade!
33
+
34
+ resources = MigratedModel.all
35
+
36
+ resources[0].id.should == 1
37
+ resources[0].name.should == 'test1'
38
+
39
+ resources[1].id.should == 3
40
+ resources[1].name.should == 'test2'
41
+ end
42
+ end
43
+
9
44
  it "should define the @predefined_attributes instance variable" do
10
45
  TestModel.should be_instance_variable_defined(:@predefined_attributes)
11
46
  end
12
47
 
13
48
  it "should provide the names of all predefined resources of a Model" do
14
- TestModel.predefined_names.should =~ [:test1, :test2]
49
+ TestModel.predefined.should =~ [:test1, :test2]
50
+ end
51
+
52
+ it "should determine if a predefined resource was defined" do
53
+ TestModel.should be_predefined(:test2)
15
54
  end
16
55
 
17
56
  it "should be able to define resources of a Model" do
@@ -56,34 +95,33 @@ describe DataMapper::Is::Predefined do
56
95
  end
57
96
  end
58
97
 
59
- describe "predefined_resource_with" do
98
+ describe "first_or_predefined" do
60
99
  it "should find resources based on attributes they share" do
61
- test2 = TestModel.predefined_resource_with(:name => 'test2', :number => 2)
100
+ test2 = TestModel.first_or_predefined(:name => 'test2', :number => 2)
62
101
 
63
102
  test2.name.should == 'test2'
64
103
  end
65
104
 
66
- it "should raise UnknownResource if no resource shares all attribute names" do
67
- lambda {
68
- TestModel.predefined_resource_with(:number => 1, :missing => 'yo')
69
- }.should raise_error(DataMapper::Is::Predefined::UnknownResource)
70
- end
105
+ it "should allow specifying different query and predefined attributes" do
106
+ test2 = TestModel.first_or_predefined(
107
+ {:name.like => '%test2%'},
108
+ {:name => 'test2', :number => 2}
109
+ )
71
110
 
72
- it "should raise UnknownResource if no resource shares any attribute names" do
73
- lambda {
74
- TestModel.predefined_resource_with(:missing => 1, :typo => 'yo')
75
- }.should raise_error(DataMapper::Is::Predefined::UnknownResource)
111
+ test2.name.should == 'test2'
76
112
  end
77
113
 
78
- it "should raise UnknownResource if no resource shares all attribute values" do
79
- lambda {
80
- TestModel.predefined_resource_with(:number => 2, :optional => 'yo')
81
- }.should raise_error(DataMapper::Is::Predefined::UnknownResource)
114
+ it "should return nil if no resource shares any attribute values" do
115
+ resource = TestModel.first_or_predefined(:number => 100, :optional => 'bla')
116
+
117
+ resource.should be_nil
82
118
  end
119
+ end
83
120
 
121
+ describe "predefined_resource_with" do
84
122
  it "should raise UnknownResource if no resource shares any attribute values" do
85
123
  lambda {
86
- TestModel.predefined_resource_with(:number => 3, :optional => 'bla')
124
+ TestModel.predefined_resource_with(:number => 100, :optional => 'bla')
87
125
  }.should raise_error(DataMapper::Is::Predefined::UnknownResource)
88
126
  end
89
127
  end
metadata CHANGED
@@ -1,63 +1,60 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: dm-is-predefined
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.4.0
4
5
  prerelease:
5
- version: 0.3.1
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Postmodern
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-02-28 00:00:00 -08:00
12
+ date: 2011-07-28 00:00:00.000000000 -07:00
14
13
  default_executable:
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
17
16
  name: dm-core
18
- requirement: &id001 !ruby/object:Gem::Requirement
17
+ requirement: &11760400 !ruby/object:Gem::Requirement
19
18
  none: false
20
- requirements:
19
+ requirements:
21
20
  - - ~>
22
- - !ruby/object:Gem::Version
23
- version: "1.0"
21
+ - !ruby/object:Gem::Version
22
+ version: '1.0'
24
23
  type: :runtime
25
24
  prerelease: false
26
- version_requirements: *id001
27
- - !ruby/object:Gem::Dependency
25
+ version_requirements: *11760400
26
+ - !ruby/object:Gem::Dependency
28
27
  name: bundler
29
- requirement: &id002 !ruby/object:Gem::Requirement
28
+ requirement: &11758740 !ruby/object:Gem::Requirement
30
29
  none: false
31
- requirements:
30
+ requirements:
32
31
  - - ~>
33
- - !ruby/object:Gem::Version
32
+ - !ruby/object:Gem::Version
34
33
  version: 1.0.0
35
34
  type: :development
36
35
  prerelease: false
37
- version_requirements: *id002
38
- - !ruby/object:Gem::Dependency
36
+ version_requirements: *11758740
37
+ - !ruby/object:Gem::Dependency
39
38
  name: yard
40
- requirement: &id003 !ruby/object:Gem::Requirement
39
+ requirement: &11757200 !ruby/object:Gem::Requirement
41
40
  none: false
42
- requirements:
41
+ requirements:
43
42
  - - ~>
44
- - !ruby/object:Gem::Version
45
- version: 0.6.0
43
+ - !ruby/object:Gem::Version
44
+ version: 0.7.0
46
45
  type: :development
47
46
  prerelease: false
48
- version_requirements: *id003
47
+ version_requirements: *11757200
49
48
  description: A DataMapper plugin for adding predefined resources to Models.
50
- email:
49
+ email:
51
50
  - postmodern.mod3@gmail.com
52
51
  executables: []
53
-
54
52
  extensions: []
55
-
56
- extra_rdoc_files:
53
+ extra_rdoc_files:
57
54
  - README.md
58
55
  - ChangeLog.md
59
56
  - LICENSE.txt
60
- files:
57
+ files:
61
58
  - .document
62
59
  - .rspec
63
60
  - .yardopts
@@ -71,36 +68,35 @@ files:
71
68
  - lib/dm-is-predefined.rb
72
69
  - lib/dm-is-predefined/is/exceptions/unknown_resource.rb
73
70
  - lib/dm-is-predefined/is/predefined.rb
71
+ - spec/integration/models/migrated_model.rb
74
72
  - spec/integration/models/test_model.rb
75
73
  - spec/integration/predefined_spec.rb
76
74
  - spec/spec_helper.rb
77
75
  has_rdoc: yard
78
76
  homepage: http://github.com/postmodern/dm-is-predefined
79
- licenses:
77
+ licenses:
80
78
  - MIT
81
79
  post_install_message:
82
80
  rdoc_options: []
83
-
84
- require_paths:
81
+ require_paths:
85
82
  - lib
86
- required_ruby_version: !ruby/object:Gem::Requirement
83
+ required_ruby_version: !ruby/object:Gem::Requirement
87
84
  none: false
88
- requirements:
89
- - - ">="
90
- - !ruby/object:Gem::Version
91
- version: "0"
92
- required_rubygems_version: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ! '>='
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ required_rubygems_version: !ruby/object:Gem::Requirement
93
90
  none: false
94
- requirements:
95
- - - ">="
96
- - !ruby/object:Gem::Version
91
+ requirements:
92
+ - - ! '>='
93
+ - !ruby/object:Gem::Version
97
94
  version: 1.3.6
98
95
  requirements: []
99
-
100
96
  rubyforge_project: dm-is-predefined
101
- rubygems_version: 1.5.2
97
+ rubygems_version: 1.6.2
102
98
  signing_key:
103
99
  specification_version: 3
104
100
  summary: DataMapper plugin for adding predefined resources to models.
105
- test_files:
101
+ test_files:
106
102
  - spec/integration/predefined_spec.rb