seedlings 0.0.1 → 0.0.2

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.
data/.gitignore CHANGED
@@ -2,3 +2,4 @@
2
2
  .bundle
3
3
  Gemfile.lock
4
4
  pkg/*
5
+ *.sqlite3
data/README.md CHANGED
@@ -15,7 +15,7 @@ There are two methods of note: `.plant` and `.plant_and_return`. They take 3 par
15
15
  * the Class to use (must support `ActiveModel`ish interface, like MongoMapper, Mongoid, ActiveRecord)
16
16
  * options you want Seedlings to respect, of which there are two:
17
17
  * `:constrain` which takes a column name or array of column names that will be used to find the records, and
18
- * `:dont_update_existing`, which, if set to true, will cause Seedlings to skip updating existing records.
18
+ * `:update_existing`, which, if set to false, will cause Seedlings to skip updating existing records. **By default Seedlings always updates.**
19
19
  * the third parameter is that data you want seeded. `.plant` takes however many attribute hashes you give it. `.plant_and_return` takes only a single hash, but returns the resulting object.
20
20
 
21
21
  Here's some examples:
@@ -18,7 +18,7 @@ class Seedlings
18
18
 
19
19
  def initialize klass, options, data
20
20
  self.klass = klass
21
- self.options = options
21
+ self.options = { :update_existing => true }.merge(options)
22
22
  self.data = data
23
23
  adapt!
24
24
  end
@@ -70,8 +70,8 @@ class Seedlings
70
70
  object = find_model_with the_data
71
71
  if object
72
72
  puts "FOUND: #{object.inspect}"
73
- if options[:dont_update_existing]
74
- puts " * skipping update as per options[:dont_update_existing]"
73
+ if !options[:update_existing]
74
+ puts " * skipping update as per options[:update_existing]"
75
75
  else
76
76
  puts " * updating with #{the_data}"
77
77
  object.update_attributes(the_data)
@@ -1,3 +1,3 @@
1
1
  class Seedlings
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -1,5 +1,5 @@
1
1
  ## Running Specs
2
2
 
3
- By default, we run the specs with mongomapper. To run them with mongoid or sqlite, use: `DB=mongoid rspec spec`. Make sure you have the requisite table set up for the SQL-based test.
3
+ By default, we run the specs with mongomapper. To run them with mongoid or sqlite, use: `DB=mongoid rspec spec` or `DB=sqlite rspec spec`. SQLite is super easy and should require 0 setup. #winning!
4
4
 
5
5
  Taking our cues from seed-fu, I've placed the connection and model setup stuff out in `spec/connections/*`.
@@ -41,7 +41,7 @@ describe Seedlings do
41
41
  describe "#initialize" do
42
42
  it "stashes the class, options, and data as attributes" do
43
43
  seeds.klass.should == Widget
44
- seeds.options.should == { :constrain => :name }
44
+ seeds.options.should == { :constrain => :name, :update_existing => true }
45
45
  seeds.data.should == []
46
46
  end
47
47
  end
@@ -129,8 +129,8 @@ describe Seedlings::ActiveModel do
129
129
  seedlings.find_and_update_model_with the_attrs
130
130
  Widget.where(name: "Basic text elements").first.context.should == "hero"
131
131
  end
132
- it "skips the update if you've given it the :dont_update_existing option" do
133
- seeds = Seedlings.new(Widget, { :constrain => :name, :dont_update_existing => true }, the_attrs )
132
+ it "skips the update if you've set :update_existing to false" do
133
+ seeds = Seedlings.new(Widget, { :constrain => :name, :update_existing => false }, the_attrs )
134
134
  seeds.find_and_update_model_with the_attrs
135
135
  Widget.where(name: "Basic text elements").first.context.should == "columns"
136
136
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: seedlings
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.1
5
+ version: 0.0.2
6
6
  platform: ruby
7
7
  authors:
8
8
  - Matt Wilson
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-09-21 00:00:00 Z
13
+ date: 2011-09-26 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rspec
@@ -102,7 +102,6 @@ files:
102
102
  - spec/connections/mongoid.rb
103
103
  - spec/connections/mongomapper.rb
104
104
  - spec/connections/sqlite.rb
105
- - spec/connections/test.sqlite3
106
105
  - spec/lib/seedlings_spec.rb
107
106
  - spec/spec_helper.rb
108
107
  homepage: ""
@@ -137,6 +136,5 @@ test_files:
137
136
  - spec/connections/mongoid.rb
138
137
  - spec/connections/mongomapper.rb
139
138
  - spec/connections/sqlite.rb
140
- - spec/connections/test.sqlite3
141
139
  - spec/lib/seedlings_spec.rb
142
140
  - spec/spec_helper.rb