datts_right 0.0.18 → 0.0.19
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +1 -1
- data/VERSION +1 -1
- data/datts_right.gemspec +37 -1
- data/lib/datts_right/base.rb +1 -2
- data/lib/datts_right/instance_methods.rb +6 -6
- data/spec/datts_right/create_definitions_spec.rb +5 -1
- metadata +183 -3
data/Gemfile.lock
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.19
|
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.19"
|
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"]
|
@@ -263,6 +263,18 @@ Gem::Specification.new do |s|
|
|
263
263
|
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
264
264
|
s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
|
265
265
|
s.add_development_dependency(%q<rcov>, [">= 0"])
|
266
|
+
s.add_development_dependency(%q<autotest>, [">= 0"])
|
267
|
+
s.add_development_dependency(%q<sqlite3>, [">= 0"])
|
268
|
+
s.add_development_dependency(%q<rspec>, ["~> 2.3.0"])
|
269
|
+
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
270
|
+
s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
|
271
|
+
s.add_development_dependency(%q<rcov>, [">= 0"])
|
272
|
+
s.add_development_dependency(%q<autotest>, [">= 0"])
|
273
|
+
s.add_development_dependency(%q<sqlite3>, [">= 0"])
|
274
|
+
s.add_development_dependency(%q<rspec>, ["~> 2.3.0"])
|
275
|
+
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
276
|
+
s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
|
277
|
+
s.add_development_dependency(%q<rcov>, [">= 0"])
|
266
278
|
else
|
267
279
|
s.add_dependency(%q<datts_right>, [">= 0"])
|
268
280
|
s.add_dependency(%q<rails>, [">= 3.0.0"])
|
@@ -459,6 +471,18 @@ Gem::Specification.new do |s|
|
|
459
471
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
460
472
|
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
461
473
|
s.add_dependency(%q<rcov>, [">= 0"])
|
474
|
+
s.add_dependency(%q<autotest>, [">= 0"])
|
475
|
+
s.add_dependency(%q<sqlite3>, [">= 0"])
|
476
|
+
s.add_dependency(%q<rspec>, ["~> 2.3.0"])
|
477
|
+
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
478
|
+
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
479
|
+
s.add_dependency(%q<rcov>, [">= 0"])
|
480
|
+
s.add_dependency(%q<autotest>, [">= 0"])
|
481
|
+
s.add_dependency(%q<sqlite3>, [">= 0"])
|
482
|
+
s.add_dependency(%q<rspec>, ["~> 2.3.0"])
|
483
|
+
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
484
|
+
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
485
|
+
s.add_dependency(%q<rcov>, [">= 0"])
|
462
486
|
end
|
463
487
|
else
|
464
488
|
s.add_dependency(%q<datts_right>, [">= 0"])
|
@@ -656,6 +680,18 @@ Gem::Specification.new do |s|
|
|
656
680
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
657
681
|
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
658
682
|
s.add_dependency(%q<rcov>, [">= 0"])
|
683
|
+
s.add_dependency(%q<autotest>, [">= 0"])
|
684
|
+
s.add_dependency(%q<sqlite3>, [">= 0"])
|
685
|
+
s.add_dependency(%q<rspec>, ["~> 2.3.0"])
|
686
|
+
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
687
|
+
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
688
|
+
s.add_dependency(%q<rcov>, [">= 0"])
|
689
|
+
s.add_dependency(%q<autotest>, [">= 0"])
|
690
|
+
s.add_dependency(%q<sqlite3>, [">= 0"])
|
691
|
+
s.add_dependency(%q<rspec>, ["~> 2.3.0"])
|
692
|
+
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
693
|
+
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
694
|
+
s.add_dependency(%q<rcov>, [">= 0"])
|
659
695
|
end
|
660
696
|
end
|
661
697
|
|
data/lib/datts_right/base.rb
CHANGED
@@ -68,8 +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
|
-
|
72
|
-
record.dynamic_attribute_definition.create if dynamic_attributes_options[:definition] && record.dynamic_attribute_definition.nil?
|
71
|
+
record.create_dynamic_attribute_definition_if_needed
|
73
72
|
end
|
74
73
|
end
|
75
74
|
|
@@ -113,6 +113,12 @@ module DattsRight
|
|
113
113
|
send dynamic_attributes_options[:of].to_s
|
114
114
|
end
|
115
115
|
|
116
|
+
def create_dynamic_attribute_definition_if_needed
|
117
|
+
if dynamic_attributes_options[:definition]
|
118
|
+
DynamicAttributeDefinition.create :attribute_defineable_id => self.id, :attribute_defineable_type => self.class.name
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
116
122
|
private
|
117
123
|
|
118
124
|
# Called after validation on update so that dynamic attributes behave
|
@@ -145,12 +151,6 @@ module DattsRight
|
|
145
151
|
end
|
146
152
|
end
|
147
153
|
|
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
|
-
|
154
154
|
def save_dynamic_attribute_definition
|
155
155
|
dynamic_attribute_definition.save if dynamic_attribute_definition
|
156
156
|
end
|
@@ -1,9 +1,13 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
2
|
|
3
3
|
describe DattsRight, ".create_definitions!" do
|
4
|
+
before do
|
5
|
+
reset_database
|
6
|
+
end
|
7
|
+
|
4
8
|
it "should create definitions for all existing records, if the definition does not exist" do
|
5
9
|
2.times do
|
6
|
-
Category.create.destroy
|
10
|
+
Category.create.dynamic_attribute_definition.destroy
|
7
11
|
end
|
8
12
|
Category.create_definitions!
|
9
13
|
Category.all.each do |c|
|
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: 57
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 19
|
10
|
+
version: 0.0.19
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Ramon Tayag
|
@@ -2944,6 +2944,186 @@ dependencies:
|
|
2944
2944
|
name: rcov
|
2945
2945
|
version_requirements: *id195
|
2946
2946
|
prerelease: false
|
2947
|
+
- !ruby/object:Gem::Dependency
|
2948
|
+
type: :development
|
2949
|
+
requirement: &id196 !ruby/object:Gem::Requirement
|
2950
|
+
none: false
|
2951
|
+
requirements:
|
2952
|
+
- - ">="
|
2953
|
+
- !ruby/object:Gem::Version
|
2954
|
+
hash: 3
|
2955
|
+
segments:
|
2956
|
+
- 0
|
2957
|
+
version: "0"
|
2958
|
+
name: autotest
|
2959
|
+
version_requirements: *id196
|
2960
|
+
prerelease: false
|
2961
|
+
- !ruby/object:Gem::Dependency
|
2962
|
+
type: :development
|
2963
|
+
requirement: &id197 !ruby/object:Gem::Requirement
|
2964
|
+
none: false
|
2965
|
+
requirements:
|
2966
|
+
- - ">="
|
2967
|
+
- !ruby/object:Gem::Version
|
2968
|
+
hash: 3
|
2969
|
+
segments:
|
2970
|
+
- 0
|
2971
|
+
version: "0"
|
2972
|
+
name: sqlite3
|
2973
|
+
version_requirements: *id197
|
2974
|
+
prerelease: false
|
2975
|
+
- !ruby/object:Gem::Dependency
|
2976
|
+
type: :development
|
2977
|
+
requirement: &id198 !ruby/object:Gem::Requirement
|
2978
|
+
none: false
|
2979
|
+
requirements:
|
2980
|
+
- - ~>
|
2981
|
+
- !ruby/object:Gem::Version
|
2982
|
+
hash: 3
|
2983
|
+
segments:
|
2984
|
+
- 2
|
2985
|
+
- 3
|
2986
|
+
- 0
|
2987
|
+
version: 2.3.0
|
2988
|
+
name: rspec
|
2989
|
+
version_requirements: *id198
|
2990
|
+
prerelease: false
|
2991
|
+
- !ruby/object:Gem::Dependency
|
2992
|
+
type: :development
|
2993
|
+
requirement: &id199 !ruby/object:Gem::Requirement
|
2994
|
+
none: false
|
2995
|
+
requirements:
|
2996
|
+
- - ~>
|
2997
|
+
- !ruby/object:Gem::Version
|
2998
|
+
hash: 23
|
2999
|
+
segments:
|
3000
|
+
- 1
|
3001
|
+
- 0
|
3002
|
+
- 0
|
3003
|
+
version: 1.0.0
|
3004
|
+
name: bundler
|
3005
|
+
version_requirements: *id199
|
3006
|
+
prerelease: false
|
3007
|
+
- !ruby/object:Gem::Dependency
|
3008
|
+
type: :development
|
3009
|
+
requirement: &id200 !ruby/object:Gem::Requirement
|
3010
|
+
none: false
|
3011
|
+
requirements:
|
3012
|
+
- - ~>
|
3013
|
+
- !ruby/object:Gem::Version
|
3014
|
+
hash: 7
|
3015
|
+
segments:
|
3016
|
+
- 1
|
3017
|
+
- 5
|
3018
|
+
- 2
|
3019
|
+
version: 1.5.2
|
3020
|
+
name: jeweler
|
3021
|
+
version_requirements: *id200
|
3022
|
+
prerelease: false
|
3023
|
+
- !ruby/object:Gem::Dependency
|
3024
|
+
type: :development
|
3025
|
+
requirement: &id201 !ruby/object:Gem::Requirement
|
3026
|
+
none: false
|
3027
|
+
requirements:
|
3028
|
+
- - ">="
|
3029
|
+
- !ruby/object:Gem::Version
|
3030
|
+
hash: 3
|
3031
|
+
segments:
|
3032
|
+
- 0
|
3033
|
+
version: "0"
|
3034
|
+
name: rcov
|
3035
|
+
version_requirements: *id201
|
3036
|
+
prerelease: false
|
3037
|
+
- !ruby/object:Gem::Dependency
|
3038
|
+
type: :development
|
3039
|
+
requirement: &id202 !ruby/object:Gem::Requirement
|
3040
|
+
none: false
|
3041
|
+
requirements:
|
3042
|
+
- - ">="
|
3043
|
+
- !ruby/object:Gem::Version
|
3044
|
+
hash: 3
|
3045
|
+
segments:
|
3046
|
+
- 0
|
3047
|
+
version: "0"
|
3048
|
+
name: autotest
|
3049
|
+
version_requirements: *id202
|
3050
|
+
prerelease: false
|
3051
|
+
- !ruby/object:Gem::Dependency
|
3052
|
+
type: :development
|
3053
|
+
requirement: &id203 !ruby/object:Gem::Requirement
|
3054
|
+
none: false
|
3055
|
+
requirements:
|
3056
|
+
- - ">="
|
3057
|
+
- !ruby/object:Gem::Version
|
3058
|
+
hash: 3
|
3059
|
+
segments:
|
3060
|
+
- 0
|
3061
|
+
version: "0"
|
3062
|
+
name: sqlite3
|
3063
|
+
version_requirements: *id203
|
3064
|
+
prerelease: false
|
3065
|
+
- !ruby/object:Gem::Dependency
|
3066
|
+
type: :development
|
3067
|
+
requirement: &id204 !ruby/object:Gem::Requirement
|
3068
|
+
none: false
|
3069
|
+
requirements:
|
3070
|
+
- - ~>
|
3071
|
+
- !ruby/object:Gem::Version
|
3072
|
+
hash: 3
|
3073
|
+
segments:
|
3074
|
+
- 2
|
3075
|
+
- 3
|
3076
|
+
- 0
|
3077
|
+
version: 2.3.0
|
3078
|
+
name: rspec
|
3079
|
+
version_requirements: *id204
|
3080
|
+
prerelease: false
|
3081
|
+
- !ruby/object:Gem::Dependency
|
3082
|
+
type: :development
|
3083
|
+
requirement: &id205 !ruby/object:Gem::Requirement
|
3084
|
+
none: false
|
3085
|
+
requirements:
|
3086
|
+
- - ~>
|
3087
|
+
- !ruby/object:Gem::Version
|
3088
|
+
hash: 23
|
3089
|
+
segments:
|
3090
|
+
- 1
|
3091
|
+
- 0
|
3092
|
+
- 0
|
3093
|
+
version: 1.0.0
|
3094
|
+
name: bundler
|
3095
|
+
version_requirements: *id205
|
3096
|
+
prerelease: false
|
3097
|
+
- !ruby/object:Gem::Dependency
|
3098
|
+
type: :development
|
3099
|
+
requirement: &id206 !ruby/object:Gem::Requirement
|
3100
|
+
none: false
|
3101
|
+
requirements:
|
3102
|
+
- - ~>
|
3103
|
+
- !ruby/object:Gem::Version
|
3104
|
+
hash: 7
|
3105
|
+
segments:
|
3106
|
+
- 1
|
3107
|
+
- 5
|
3108
|
+
- 2
|
3109
|
+
version: 1.5.2
|
3110
|
+
name: jeweler
|
3111
|
+
version_requirements: *id206
|
3112
|
+
prerelease: false
|
3113
|
+
- !ruby/object:Gem::Dependency
|
3114
|
+
type: :development
|
3115
|
+
requirement: &id207 !ruby/object:Gem::Requirement
|
3116
|
+
none: false
|
3117
|
+
requirements:
|
3118
|
+
- - ">="
|
3119
|
+
- !ruby/object:Gem::Version
|
3120
|
+
hash: 3
|
3121
|
+
segments:
|
3122
|
+
- 0
|
3123
|
+
version: "0"
|
3124
|
+
name: rcov
|
3125
|
+
version_requirements: *id207
|
3126
|
+
prerelease: false
|
2947
3127
|
description: Creates a separate table that saves all your dynamic attributes.
|
2948
3128
|
email: ramon@tayag.net
|
2949
3129
|
executables: []
|