infopark_reactor 1.8.4 → 1.9.0.beta

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: eb7e4bca83459ccdedf2925b85100bb29b0331d9
4
+ data.tar.gz: e20ed636b63e95693ce7db72a3542f7073ef0fcb
5
+ SHA512:
6
+ metadata.gz: 1170a1d809714033a69d915b503dccdce024f34b87a3732d5472ca3b3252491298d26d85367141bfd5a6bfa5b9aa55e2d2ce0a13a726444f6e770b22f89fcfa8
7
+ data.tar.gz: 28848bd0a8c29b2d3e573dcad578ffdf85baa23321e881c92051f6865245483655c7ac4d8f5a8a78ccb3b7f39875670de145141aa5deaab0f1015e31990e28c9
@@ -20,9 +20,9 @@ Gem::Specification.new do |s|
20
20
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
21
21
  s.require_paths = ["lib", "lib/tools"]
22
22
 
23
- s.add_dependency 'rails', '<= 3.3', '>= 3.0.10'
23
+ s.add_dependency 'rails', '>= 3.0.10', '<= 4.1.0'
24
24
  s.add_dependency 'infopark_reactor_migrations', '>= 1.7.2'
25
- s.add_dependency 'infopark_rails_connector'
25
+ #s.add_dependency 'infopark_rails_connector'
26
26
  s.add_dependency 'infopark_rails_connector_meta', '>= 1.7.2'
27
27
 
28
28
  s.add_development_dependency 'rspec'
@@ -12,6 +12,10 @@ module Reactor
12
12
  def self.rails3_2?
13
13
  ::Rails::VERSION::MAJOR == 3 && ::Rails::VERSION::MINOR == 2
14
14
  end
15
+
16
+ def self.rails4_0?
17
+ ::Rails::VERSION::MAJOR == 4 && ::Rails::VERSION::MINOR == 0
18
+ end
15
19
  end
16
20
 
17
21
  # require exceptions
@@ -1,6 +1,7 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  require 'reactor/link/temporary_link'
3
- require 'infopark_rails_connector'
3
+ require 'infopark_fiona_connector'
4
+ #require 'infopark_rails_connector'
4
5
 
5
6
  module Reactor
6
7
  module Attributes
@@ -229,7 +229,7 @@ module Reactor
229
229
  super(attributes)
230
230
  end
231
231
  end
232
- elsif Reactor.rails3_1? || Reactor.rails3_2?
232
+ elsif Reactor.rails3_1? || Reactor.rails3_2? || Reactor.rails4_0?
233
233
  # It should excactly match ActiveRecord::Base.new in it's behavior
234
234
  # @see ActiveRecord::Base.new
235
235
  def initialize(attributes = nil, options={}, &block)
@@ -422,6 +422,10 @@ module Reactor
422
422
  end
423
423
  end
424
424
 
425
+ if Reactor.rails4_0?
426
+ alias_method :create_record, :create
427
+ end
428
+
425
429
  def update
426
430
  run_callbacks(:update) do
427
431
  crul_obj_save if crul_attributes_set? || crul_links_changed?
@@ -430,6 +434,10 @@ module Reactor
430
434
  end
431
435
  end
432
436
 
437
+ if Reactor.rails4_0?
438
+ alias_method :update_record, :update
439
+ end
440
+
433
441
  def ignore_attributes(attributes)
434
442
  return {} if attributes.nil?
435
443
 
@@ -476,6 +484,28 @@ module Reactor
476
484
  new_name
477
485
  end
478
486
 
487
+ if Reactor.rails4_0?
488
+ # Detect the subclass from the inheritance column of attrs. If the inheritance column value
489
+ # is not self or a valid subclass, raises ActiveRecord::SubclassNotFound
490
+ # If this is a StrongParameters hash, and access to inheritance_column is not permitted,
491
+ # this will ignore the inheritance column and return nil
492
+ def subclass_from_attrs(attrs)
493
+ subclass_name = attrs.with_indifferent_access[inheritance_column]
494
+
495
+ if subclass_name.present? && subclass_name != self.name
496
+ subclass = subclass_name.safe_constantize
497
+
498
+ if subclass # this if has been added
499
+ unless descendants.include?(subclass)
500
+ raise ActiveRecord::SubclassNotFound.new("Invalid single-table inheritance type: #{subclass_name} is not a subclass of #{name}")
501
+ end
502
+
503
+ subclass
504
+ end
505
+ end
506
+ end
507
+ end
508
+
479
509
  # Convenience method: it is equivalent to following call chain:
480
510
  #
481
511
  # i = create(attributes)
@@ -12,7 +12,7 @@ module Reactor
12
12
  base.extend(ClassMethods)
13
13
  # Common validations for all Objs
14
14
  base.class_eval do
15
- validates :permalink, :format => { :with => /^[-_$.\/a-zA-Z0-9]*$/ }
15
+ validates :permalink, :format => { :with => /\A[-_$.\/a-zA-Z0-9]*\Z/ }
16
16
  validates :parent_obj_id, :numericality => { :only_integer => true }, :on => :create
17
17
  validates :name, :presence => true, :on => :create
18
18
  validates :obj_class, :presence => true, :on => :create
@@ -1,4 +1,4 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  module Reactor
3
- VERSION = "1.8.4"
3
+ VERSION = "1.9.0.beta"
4
4
  end
metadata CHANGED
@@ -1,130 +1,99 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: infopark_reactor
3
- version: !ruby/object:Gem::Version
4
- hash: 63
5
- prerelease:
6
- segments:
7
- - 1
8
- - 8
9
- - 4
10
- version: 1.8.4
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.9.0.beta
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - Tomasz Przedmojski
14
8
  autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
-
18
- date: 2013-07-23 00:00:00 +02:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
11
+ date: 2014-04-02 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
22
14
  name: rails
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - <=
28
- - !ruby/object:Gem::Version
29
- hash: 1
30
- segments:
31
- - 3
32
- - 3
33
- version: "3.3"
34
- - - ">="
35
- - !ruby/object:Gem::Version
36
- hash: 19
37
- segments:
38
- - 3
39
- - 0
40
- - 10
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
41
19
  version: 3.0.10
20
+ - - <=
21
+ - !ruby/object:Gem::Version
22
+ version: 4.1.0
42
23
  type: :runtime
43
- version_requirements: *id001
44
- - !ruby/object:Gem::Dependency
45
- name: infopark_reactor_migrations
46
24
  prerelease: false
47
- requirement: &id002 !ruby/object:Gem::Requirement
48
- none: false
49
- requirements:
50
- - - ">="
51
- - !ruby/object:Gem::Version
52
- hash: 15
53
- segments:
54
- - 1
55
- - 7
56
- - 2
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 3.0.10
30
+ - - <=
31
+ - !ruby/object:Gem::Version
32
+ version: 4.1.0
33
+ - !ruby/object:Gem::Dependency
34
+ name: infopark_reactor_migrations
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - '>='
38
+ - !ruby/object:Gem::Version
57
39
  version: 1.7.2
58
40
  type: :runtime
59
- version_requirements: *id002
60
- - !ruby/object:Gem::Dependency
61
- name: infopark_rails_connector
62
41
  prerelease: false
63
- requirement: &id003 !ruby/object:Gem::Requirement
64
- none: false
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- hash: 3
69
- segments:
70
- - 0
71
- version: "0"
72
- type: :runtime
73
- version_requirements: *id003
74
- - !ruby/object:Gem::Dependency
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - '>='
45
+ - !ruby/object:Gem::Version
46
+ version: 1.7.2
47
+ - !ruby/object:Gem::Dependency
75
48
  name: infopark_rails_connector_meta
76
- prerelease: false
77
- requirement: &id004 !ruby/object:Gem::Requirement
78
- none: false
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- hash: 15
83
- segments:
84
- - 1
85
- - 7
86
- - 2
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - '>='
52
+ - !ruby/object:Gem::Version
87
53
  version: 1.7.2
88
54
  type: :runtime
89
- version_requirements: *id004
90
- - !ruby/object:Gem::Dependency
91
- name: rspec
92
55
  prerelease: false
93
- requirement: &id005 !ruby/object:Gem::Requirement
94
- none: false
95
- requirements:
96
- - - ">="
97
- - !ruby/object:Gem::Version
98
- hash: 3
99
- segments:
100
- - 0
101
- version: "0"
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - '>='
59
+ - !ruby/object:Gem::Version
60
+ version: 1.7.2
61
+ - !ruby/object:Gem::Dependency
62
+ name: rspec
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - '>='
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
102
68
  type: :development
103
- version_requirements: *id005
104
- - !ruby/object:Gem::Dependency
105
- name: yard
106
69
  prerelease: false
107
- requirement: &id006 !ruby/object:Gem::Requirement
108
- none: false
109
- requirements:
110
- - - ">="
111
- - !ruby/object:Gem::Version
112
- hash: 3
113
- segments:
114
- - 0
115
- version: "0"
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - '>='
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: yard
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - '>='
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
116
82
  type: :development
117
- version_requirements: *id006
118
- description: Use the ActiveRecord mimicking API to write into CM and enjoy all the benefits of callbacks, validations and permission checking
119
- email:
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - '>='
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ description: Use the ActiveRecord mimicking API to write into CM and enjoy all the
90
+ benefits of callbacks, validations and permission checking
91
+ email:
120
92
  - tomasz.przedmojski@infopark.de
121
93
  executables: []
122
-
123
94
  extensions: []
124
-
125
95
  extra_rdoc_files: []
126
-
127
- files:
96
+ files:
128
97
  - .gitignore
129
98
  - Gemfile
130
99
  - LICENSE
@@ -164,40 +133,29 @@ files:
164
133
  - lib/reactor/workflow.rb
165
134
  - lib/reactor/workflow/empty.rb
166
135
  - lib/reactor/workflow/standard.rb
167
- has_rdoc: true
168
- homepage: ""
169
- licenses:
136
+ homepage: ''
137
+ licenses:
170
138
  - LGPL-3
139
+ metadata: {}
171
140
  post_install_message:
172
141
  rdoc_options: []
173
-
174
- require_paths:
142
+ require_paths:
175
143
  - lib
176
144
  - lib/tools
177
- required_ruby_version: !ruby/object:Gem::Requirement
178
- none: false
179
- requirements:
180
- - - ">="
181
- - !ruby/object:Gem::Version
182
- hash: 3
183
- segments:
184
- - 0
185
- version: "0"
186
- required_rubygems_version: !ruby/object:Gem::Requirement
187
- none: false
188
- requirements:
189
- - - ">="
190
- - !ruby/object:Gem::Version
191
- hash: 3
192
- segments:
193
- - 0
194
- version: "0"
145
+ required_ruby_version: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - '>='
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
150
+ required_rubygems_version: !ruby/object:Gem::Requirement
151
+ requirements:
152
+ - - '>'
153
+ - !ruby/object:Gem::Version
154
+ version: 1.3.1
195
155
  requirements: []
196
-
197
156
  rubyforge_project:
198
- rubygems_version: 1.6.2
157
+ rubygems_version: 2.0.3
199
158
  signing_key:
200
- specification_version: 3
159
+ specification_version: 4
201
160
  summary: Write into CM in familiar, Rails-like way
202
161
  test_files: []
203
-