infopark_reactor_migrations 1.5.2 → 1.6.1

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.
@@ -17,6 +17,7 @@ require 'reactor/cm/group'
17
17
  require 'reactor/cm/editorial_group'
18
18
  require 'reactor/cm/live_group'
19
19
  require 'reactor/cm/workflow'
20
+ require 'reactor/cm/channel'
20
21
 
21
22
  # require main class
22
23
  require 'reactor/migration'
@@ -0,0 +1,17 @@
1
+ require 'reactor/cm/object_base'
2
+
3
+ module Reactor
4
+ module Cm
5
+ class Channel < ObjectBase
6
+ # Attribute definitions
7
+ attribute :name, :except => [:set]
8
+ attribute :title
9
+
10
+ primary_key :name
11
+
12
+ def self.create(name)
13
+ super(name, {:name => name})
14
+ end
15
+ end
16
+ end
17
+ end
@@ -2,7 +2,7 @@ module Reactor
2
2
  module Cm
3
3
  class Obj
4
4
  attr_reader :obj_id
5
- OBJ_ATTRS = [:permalink, :objClass, :workflowName, :name, :suppressExport, :parent]
5
+ OBJ_ATTRS = [:permalink, :objClass, :workflowName, :name, :suppressExport, :parent]
6
6
  ATTR_LENGTH_CONSTRAINT = {:name => 250, :title => 250}
7
7
 
8
8
  def self.create(name, parent, objClass)
@@ -399,4 +399,4 @@ module Reactor
399
399
  end
400
400
  end
401
401
  end
402
- end
402
+ end
@@ -79,4 +79,4 @@ module Reactor
79
79
 
80
80
  end
81
81
  end
82
- end
82
+ end
@@ -12,6 +12,8 @@ require 'reactor/plans/create_group'
12
12
  require 'reactor/plans/update_group'
13
13
  require 'reactor/plans/delete_group'
14
14
  require 'reactor/plans/rename_group'
15
+ require 'reactor/plans/create_channel'
16
+ require 'reactor/plans/delete_channel'
15
17
 
16
18
  module Reactor
17
19
  class Migration
@@ -30,6 +32,8 @@ module Reactor
30
32
  :delete_group => Plans::DeleteGroup,
31
33
  :update_group => Plans::UpdateGroup,
32
34
  :rename_group => Plans::RenameGroup,
35
+ :create_channel => Plans::CreateChannel,
36
+ :delete_channel => Plans::DeleteChannel
33
37
  }
34
38
 
35
39
  def self.method_missing(name, *args, &block)
@@ -1,5 +1,5 @@
1
1
  module Reactor
2
2
  module Migrations
3
- VERSION = "1.5.2"
3
+ VERSION = "1.6.1"
4
4
  end
5
5
  end
@@ -0,0 +1,31 @@
1
+ module Reactor
2
+ module Plans
3
+ class CommonChannel
4
+ include Prepared
5
+
6
+ ALLOWED_PARAMS = [:title]
7
+
8
+ def initialize
9
+ @params = {}
10
+ end
11
+
12
+ def set(key,value)
13
+ @params[key.to_sym] = value
14
+ end
15
+
16
+ def migrate!
17
+ raise "#{self.class.name} did not implement migrate!"
18
+ end
19
+
20
+ protected
21
+ def prepare_params!(channel=nil)
22
+ @params.keys.each{|k| error("unknown parameter: #{k}") unless ALLOWED_PARAMS.include? k}
23
+ end
24
+
25
+ def migrate_params!(channel)
26
+ @params.each{|k,v|channel.send(:"#{k}=",v)}
27
+ channel.save!
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,23 @@
1
+ require 'reactor/cm/channel'
2
+ require 'reactor/plans/common_channel'
3
+
4
+ module Reactor
5
+ module Plans
6
+ class CreateChannel < CommonChannel
7
+ def initialize(*args)
8
+ super()
9
+ (name, x), options = separate_arguments(*args)
10
+ @name = name || options[:name]
11
+ end
12
+
13
+ def prepare!
14
+ error("name is nil") if @name.nil?
15
+ end
16
+
17
+ def migrate!
18
+ channel = Reactor::Cm::Channel.create(@name)
19
+ migrate_params!(channel)
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,21 @@
1
+ module Reactor
2
+ module Plans
3
+ class DeleteChannel < CommonAttribute
4
+ def initialize(*args)
5
+ super()
6
+ (name, x), options = separate_arguments(*args)
7
+ @name = name || options[:name]
8
+ end
9
+
10
+ def prepare!
11
+ error("name is nil") if @name.nil?
12
+ error("channel #{@name} does not exist") if not Reactor::Cm::Channel.exists?(@name)
13
+ end
14
+
15
+ def migrate!
16
+ Reactor::Cm::Channel.get(@name).delete!
17
+ end
18
+
19
+ end
20
+ end
21
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: infopark_reactor_migrations
3
3
  version: !ruby/object:Gem::Version
4
- hash: 7
4
+ hash: 13
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
- - 5
9
- - 2
10
- version: 1.5.2
8
+ - 6
9
+ - 1
10
+ version: 1.6.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Tomasz Przedmojski
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2013-01-09 00:00:00 +01:00
18
+ date: 2013-01-17 00:00:00 +01:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -106,6 +106,7 @@ files:
106
106
  - lib/infopark_reactor_migrations.rb
107
107
  - lib/reactor/cm/attribute.rb
108
108
  - lib/reactor/cm/bridge.rb
109
+ - lib/reactor/cm/channel.rb
109
110
  - lib/reactor/cm/editorial_group.rb
110
111
  - lib/reactor/cm/group.rb
111
112
  - lib/reactor/cm/language.rb
@@ -127,13 +128,16 @@ files:
127
128
  - lib/reactor/migrations/railtie.rb
128
129
  - lib/reactor/migrations/version.rb
129
130
  - lib/reactor/plans/common_attribute.rb
131
+ - lib/reactor/plans/common_channel.rb
130
132
  - lib/reactor/plans/common_group.rb
131
133
  - lib/reactor/plans/common_obj_class.rb
132
134
  - lib/reactor/plans/create_attribute.rb
135
+ - lib/reactor/plans/create_channel.rb
133
136
  - lib/reactor/plans/create_group.rb
134
137
  - lib/reactor/plans/create_obj.rb
135
138
  - lib/reactor/plans/create_obj_class.rb
136
139
  - lib/reactor/plans/delete_attribute.rb
140
+ - lib/reactor/plans/delete_channel.rb
137
141
  - lib/reactor/plans/delete_group.rb
138
142
  - lib/reactor/plans/delete_obj.rb
139
143
  - lib/reactor/plans/delete_obj_class.rb