datts_right 0.0.17 → 0.0.18
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/Gemfile.lock +1 -1
- data/VERSION +1 -1
- data/datts_right.gemspec +19 -1
- data/lib/datts_right/base.rb +2 -2
- data/lib/datts_right/instance_methods.rb +7 -1
- data/spec/datts_right_spec.rb +6 -0
- metadata +93 -3
data/Gemfile.lock
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.18
|
data/datts_right.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{datts_right}
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.18"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Ramon Tayag"]
|
@@ -257,6 +257,12 @@ Gem::Specification.new do |s|
|
|
257
257
|
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
258
258
|
s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
|
259
259
|
s.add_development_dependency(%q<rcov>, [">= 0"])
|
260
|
+
s.add_development_dependency(%q<autotest>, [">= 0"])
|
261
|
+
s.add_development_dependency(%q<sqlite3>, [">= 0"])
|
262
|
+
s.add_development_dependency(%q<rspec>, ["~> 2.3.0"])
|
263
|
+
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
264
|
+
s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
|
265
|
+
s.add_development_dependency(%q<rcov>, [">= 0"])
|
260
266
|
else
|
261
267
|
s.add_dependency(%q<datts_right>, [">= 0"])
|
262
268
|
s.add_dependency(%q<rails>, [">= 3.0.0"])
|
@@ -447,6 +453,12 @@ Gem::Specification.new do |s|
|
|
447
453
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
448
454
|
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
449
455
|
s.add_dependency(%q<rcov>, [">= 0"])
|
456
|
+
s.add_dependency(%q<autotest>, [">= 0"])
|
457
|
+
s.add_dependency(%q<sqlite3>, [">= 0"])
|
458
|
+
s.add_dependency(%q<rspec>, ["~> 2.3.0"])
|
459
|
+
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
460
|
+
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
461
|
+
s.add_dependency(%q<rcov>, [">= 0"])
|
450
462
|
end
|
451
463
|
else
|
452
464
|
s.add_dependency(%q<datts_right>, [">= 0"])
|
@@ -638,6 +650,12 @@ Gem::Specification.new do |s|
|
|
638
650
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
639
651
|
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
640
652
|
s.add_dependency(%q<rcov>, [">= 0"])
|
653
|
+
s.add_dependency(%q<autotest>, [">= 0"])
|
654
|
+
s.add_dependency(%q<sqlite3>, [">= 0"])
|
655
|
+
s.add_dependency(%q<rspec>, ["~> 2.3.0"])
|
656
|
+
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
657
|
+
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
658
|
+
s.add_dependency(%q<rcov>, [">= 0"])
|
641
659
|
end
|
642
660
|
end
|
643
661
|
|
data/lib/datts_right/base.rb
CHANGED
@@ -8,7 +8,7 @@ module DattsRight
|
|
8
8
|
has_many :dynamic_attributes, :as => :attributable, :dependent => :destroy
|
9
9
|
has_one :dynamic_attribute_definition, :as => :attribute_defineable, :dependent => :destroy
|
10
10
|
after_save :save_dynamic_attribute_definition
|
11
|
-
after_create :
|
11
|
+
after_create :create_dynamic_attribute_definition_if_needed, :inherit_definition
|
12
12
|
delegate :definition, :definition=, :to => :dynamic_attribute_definition
|
13
13
|
|
14
14
|
# Carry out delayed actions before save
|
@@ -68,7 +68,7 @@ module DattsRight
|
|
68
68
|
# Used when you have already existing records that have don't have definitions, and you want them to
|
69
69
|
def self.create_definitions!
|
70
70
|
self.all.each do |record|
|
71
|
-
puts "Called create_definitions! on #{record.inspect}. Its dynamic_attribute_definition (if it has one: #{record.dynamic_attribute_definition.inspect})"
|
71
|
+
#puts "Called create_definitions! on #{record.inspect}. Its dynamic_attribute_definition (if it has one: #{record.dynamic_attribute_definition.inspect})"
|
72
72
|
record.dynamic_attribute_definition.create if dynamic_attributes_options[:definition] && record.dynamic_attribute_definition.nil?
|
73
73
|
end
|
74
74
|
end
|
@@ -145,8 +145,14 @@ module DattsRight
|
|
145
145
|
end
|
146
146
|
end
|
147
147
|
|
148
|
+
def create_dynamic_attribute_definition_if_needed
|
149
|
+
if dynamic_attributes_options[:definition]
|
150
|
+
DynamicAttributeDefinition.create :attribute_defineable_id => self.id, :attribute_defineable_type => self.class.name
|
151
|
+
end
|
152
|
+
end
|
153
|
+
|
148
154
|
def save_dynamic_attribute_definition
|
149
|
-
dynamic_attribute_definition.save
|
155
|
+
dynamic_attribute_definition.save if dynamic_attribute_definition
|
150
156
|
end
|
151
157
|
|
152
158
|
def inherit_definition
|
data/spec/datts_right_spec.rb
CHANGED
@@ -453,4 +453,10 @@ describe DattsRight do
|
|
453
453
|
}.should raise_error(ActiveRecord::UnknownAttributeError, "unknown attribute: body")
|
454
454
|
end
|
455
455
|
end
|
456
|
+
|
457
|
+
describe "on the definition" do
|
458
|
+
it "should not be created if it is not defined" do
|
459
|
+
Page.create.dynamic_attribute_definition.should be_nil
|
460
|
+
end
|
461
|
+
end
|
456
462
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: datts_right
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 59
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 18
|
10
|
+
version: 0.0.18
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Ramon Tayag
|
@@ -2854,6 +2854,96 @@ dependencies:
|
|
2854
2854
|
name: rcov
|
2855
2855
|
version_requirements: *id189
|
2856
2856
|
prerelease: false
|
2857
|
+
- !ruby/object:Gem::Dependency
|
2858
|
+
type: :development
|
2859
|
+
requirement: &id190 !ruby/object:Gem::Requirement
|
2860
|
+
none: false
|
2861
|
+
requirements:
|
2862
|
+
- - ">="
|
2863
|
+
- !ruby/object:Gem::Version
|
2864
|
+
hash: 3
|
2865
|
+
segments:
|
2866
|
+
- 0
|
2867
|
+
version: "0"
|
2868
|
+
name: autotest
|
2869
|
+
version_requirements: *id190
|
2870
|
+
prerelease: false
|
2871
|
+
- !ruby/object:Gem::Dependency
|
2872
|
+
type: :development
|
2873
|
+
requirement: &id191 !ruby/object:Gem::Requirement
|
2874
|
+
none: false
|
2875
|
+
requirements:
|
2876
|
+
- - ">="
|
2877
|
+
- !ruby/object:Gem::Version
|
2878
|
+
hash: 3
|
2879
|
+
segments:
|
2880
|
+
- 0
|
2881
|
+
version: "0"
|
2882
|
+
name: sqlite3
|
2883
|
+
version_requirements: *id191
|
2884
|
+
prerelease: false
|
2885
|
+
- !ruby/object:Gem::Dependency
|
2886
|
+
type: :development
|
2887
|
+
requirement: &id192 !ruby/object:Gem::Requirement
|
2888
|
+
none: false
|
2889
|
+
requirements:
|
2890
|
+
- - ~>
|
2891
|
+
- !ruby/object:Gem::Version
|
2892
|
+
hash: 3
|
2893
|
+
segments:
|
2894
|
+
- 2
|
2895
|
+
- 3
|
2896
|
+
- 0
|
2897
|
+
version: 2.3.0
|
2898
|
+
name: rspec
|
2899
|
+
version_requirements: *id192
|
2900
|
+
prerelease: false
|
2901
|
+
- !ruby/object:Gem::Dependency
|
2902
|
+
type: :development
|
2903
|
+
requirement: &id193 !ruby/object:Gem::Requirement
|
2904
|
+
none: false
|
2905
|
+
requirements:
|
2906
|
+
- - ~>
|
2907
|
+
- !ruby/object:Gem::Version
|
2908
|
+
hash: 23
|
2909
|
+
segments:
|
2910
|
+
- 1
|
2911
|
+
- 0
|
2912
|
+
- 0
|
2913
|
+
version: 1.0.0
|
2914
|
+
name: bundler
|
2915
|
+
version_requirements: *id193
|
2916
|
+
prerelease: false
|
2917
|
+
- !ruby/object:Gem::Dependency
|
2918
|
+
type: :development
|
2919
|
+
requirement: &id194 !ruby/object:Gem::Requirement
|
2920
|
+
none: false
|
2921
|
+
requirements:
|
2922
|
+
- - ~>
|
2923
|
+
- !ruby/object:Gem::Version
|
2924
|
+
hash: 7
|
2925
|
+
segments:
|
2926
|
+
- 1
|
2927
|
+
- 5
|
2928
|
+
- 2
|
2929
|
+
version: 1.5.2
|
2930
|
+
name: jeweler
|
2931
|
+
version_requirements: *id194
|
2932
|
+
prerelease: false
|
2933
|
+
- !ruby/object:Gem::Dependency
|
2934
|
+
type: :development
|
2935
|
+
requirement: &id195 !ruby/object:Gem::Requirement
|
2936
|
+
none: false
|
2937
|
+
requirements:
|
2938
|
+
- - ">="
|
2939
|
+
- !ruby/object:Gem::Version
|
2940
|
+
hash: 3
|
2941
|
+
segments:
|
2942
|
+
- 0
|
2943
|
+
version: "0"
|
2944
|
+
name: rcov
|
2945
|
+
version_requirements: *id195
|
2946
|
+
prerelease: false
|
2857
2947
|
description: Creates a separate table that saves all your dynamic attributes.
|
2858
2948
|
email: ramon@tayag.net
|
2859
2949
|
executables: []
|