scheherazade 0.0.9 → 0.1.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.
@@ -9,7 +9,7 @@ module Scheherazade
9
9
  @chain.unshift c
10
10
  end
11
11
  @model = Story.to_model(@chain.first)
12
- story.send(:building) << @ar = @model.new
12
+ story.send :building, @ar = @model.new
13
13
  @chain.each{|c| story.current[c] = @ar }
14
14
  end
15
15
 
@@ -27,6 +27,7 @@ module Scheherazade
27
27
  def build(attribute_list = nil)
28
28
  @seq = (story.counter[@model] += 1)
29
29
  lists = [required_attributes, *default_attribute_lists, attribute_list]
30
+ lists.prepend [:created_at] if @ar.has_attribute?(:created_at)
30
31
  attribute_list = lists.map{|al| canonical(al)}.inject(:merge)
31
32
  log(:building, attribute_list)
32
33
  set_attributes(attribute_list)
@@ -111,8 +112,8 @@ module Scheherazade
111
112
  when :integer then @seq
112
113
  when :float then @seq
113
114
  when :decimal then "#{@seq}.99"
114
- when :datetime then Time.now
115
- when :date then Date.today
115
+ when :datetime then Time.now - 1.day + @seq
116
+ when :date then Date.today - 1.year + @seq
116
117
  when :string then
117
118
  case attribute
118
119
  when :email
@@ -144,7 +145,7 @@ module Scheherazade
144
145
  when nil then {}
145
146
  when Hash then attribute_list
146
147
  when Array
147
- attribute_list.map! do |attributes|
148
+ attribute_list.map do |attributes|
148
149
  case attributes
149
150
  when Symbol
150
151
  {attributes => AUTO}
@@ -154,7 +155,7 @@ module Scheherazade
154
155
  raise "Unexpected attributes #{attributes}"
155
156
  end
156
157
  end
157
- attribute_list.inject({}, :merge)
158
+ .inject({}, :merge)
158
159
  else
159
160
  raise "Unexpected attribute_list #{attribute_list}"
160
161
  end
@@ -181,8 +181,8 @@ module Scheherazade
181
181
  @built.each(&:destroy)
182
182
  end
183
183
 
184
- attr_reader :building
185
- private :building
186
-
184
+ def building(ar)
185
+ @building << ar if @building # Condition needed in case we use CharacterBuilder outside of call to `imagine`
186
+ end
187
187
  end
188
188
  end
@@ -1,3 +1,3 @@
1
1
  module Scheherazade
2
- VERSION = "0.0.9"
2
+ VERSION = "0.1.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scheherazade
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -91,7 +91,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
91
91
  version: '0'
92
92
  segments:
93
93
  - 0
94
- hash: 3880802651756250805
94
+ hash: 2331600059561674331
95
95
  required_rubygems_version: !ruby/object:Gem::Requirement
96
96
  none: false
97
97
  requirements:
@@ -100,7 +100,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
100
100
  version: '0'
101
101
  segments:
102
102
  - 0
103
- hash: 3880802651756250805
103
+ hash: 2331600059561674331
104
104
  requirements: []
105
105
  rubyforge_project:
106
106
  rubygems_version: 1.8.24