extend_at 0.1.1 → 0.1.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/lib/extend_at/model_manager.rb +10 -8
- data/lib/extend_at/version.rb +1 -1
- data/lib/extend_at.rb +1 -0
- metadata +8 -8
@@ -114,14 +114,16 @@ module ExtendModelAt
|
|
114
114
|
equivalence_method = EQUIVALENCE_METHODS[method.to_s]
|
115
115
|
"
|
116
116
|
where(
|
117
|
-
|
118
|
-
ExtendAt.arel_table
|
119
|
-
ExtendAt.arel_table[:
|
120
|
-
|
121
|
-
::Column.arel_table
|
122
|
-
|
123
|
-
::#{type_class}.arel_table
|
124
|
-
::#{type_class}.arel_table[:
|
117
|
+
::#{@model.class.name}.arel_table[:id].in(
|
118
|
+
ExtendAt.arel_table.project('model_id').where(
|
119
|
+
ExtendAt.arel_table[:model_type].eq(\"#{@model.class.name}\").and(
|
120
|
+
ExtendAt.arel_table[:id].in(
|
121
|
+
::Column.arel_table.project('extend_at_id').where(
|
122
|
+
::Column.arel_table[:id].in(
|
123
|
+
::#{type_class}.arel_table.project('extend_at_column_id').where(
|
124
|
+
::#{type_class}.arel_table[:column].eq(column).and(
|
125
|
+
::#{type_class}.arel_table[:value].#{equivalence_method}(value)
|
126
|
+
)
|
125
127
|
)
|
126
128
|
)
|
127
129
|
)
|
data/lib/extend_at/version.rb
CHANGED
data/lib/extend_at.rb
CHANGED
@@ -390,6 +390,7 @@ module ExtendModelAt
|
|
390
390
|
def compatible_type(value,type)
|
391
391
|
return true if value.class == String and [:string, :text, :binary].include? type
|
392
392
|
return true if value.class == Fixnum and [:integer, :float].include? type
|
393
|
+
return true if [Fixnum, Float].include? value.class and [:integer, :float].include? type
|
393
394
|
return true if [true.class, false.class].include? value.class and [:boolean].include? type
|
394
395
|
return true if value.class == BigDecimal and [:decimal].include? type
|
395
396
|
return true if [Date, Time].include? value.class and [:date, :time].include? type
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: extend_at
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-01-
|
12
|
+
date: 2012-01-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
|
-
requirement: &
|
16
|
+
requirement: &10921920 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '3.1'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *10921920
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rspec
|
27
|
-
requirement: &
|
27
|
+
requirement: &10921380 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '2.5'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *10921380
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rspec-core
|
38
|
-
requirement: &
|
38
|
+
requirement: &10920960 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *10920960
|
47
47
|
description: ! 'This gem allows you to extend models without migrations: This way
|
48
48
|
you can, i.e., develop your own content types, like in Drupal.'
|
49
49
|
email:
|