constructor-cms 0.7.0 → 0.7.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.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/Guardfile +1 -1
- data/README.md +1 -1
- data/Rakefile +2 -0
- data/core/lib/constructor_core/version.rb +1 -1
- data/pages/app/controllers/constructor_pages/fields_controller.rb +10 -15
- data/pages/app/helpers/constructor_pages/code_name_uniq.rb +1 -3
- data/pages/app/models/constructor_pages/field.rb +12 -40
- data/pages/app/models/constructor_pages/page.rb +26 -70
- data/pages/app/models/constructor_pages/template.rb +4 -12
- data/pages/config/routes.rb +2 -3
- data/pages/spec/features/constructor_pages/{fields_controller_spec.rb → fields_spec.rb} +0 -0
- data/pages/spec/features/constructor_pages/{pages_controller_spec.rb → pages_spec.rb} +0 -0
- data/pages/spec/features/constructor_pages/{templates_controller_spec.rb → templates_spec.rb} +0 -0
- data/pages/spec/models/constructor_pages/{field_model_spec.rb → field_spec.rb} +0 -0
- data/pages/spec/models/constructor_pages/{page_model_spec.rb → page_spec.rb} +2 -1
- data/pages/spec/models/constructor_pages/{template_model_spec.rb → template_spec.rb} +0 -0
- data/pages/spec/models/constructor_pages/types/{boolean_type_model_spec.rb → boolean_type_spec.rb} +0 -0
- data/pages/spec/models/constructor_pages/types/{date_type_model_spec.rb → date_type_spec.rb} +0 -0
- data/pages/spec/models/constructor_pages/types/{float_type_model_spec.rb → float_type_spec.rb} +0 -0
- data/pages/spec/models/constructor_pages/types/{html_type_model_spec.rb → html_type_spec.rb} +0 -0
- data/pages/spec/models/constructor_pages/types/{integer_type_model_spec.rb → integer_type_spec.rb} +0 -0
- data/pages/spec/models/constructor_pages/types/{string_type_model_spec.rb → string_type_spec.rb} +0 -0
- data/pages/spec/models/constructor_pages/types/{text_type_model_spec.rb → text_type_spec.rb} +0 -0
- data/tasks/constructor-cms_tasks.rake +15 -0
- metadata +20 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6500e3498ffe43b926ab0eb43bf2d66f9dab464b
|
4
|
+
data.tar.gz: e3ea540cecc0fe31124b53a1cccd2bdef1af0090
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: efcb9ee149e95df47d25badfb8f09768d2a4e28e58afd1da1b080f5bd1fa56985721e280575f38253c87d781ee8328396f907da31325ea80241ab3bae7f09068
|
7
|
+
data.tar.gz: 7a781dd453a6ed3e76f04886f3c320835699f92f05dd2d09ce94a379b6810c5d8a76d00d34f372d94b32ee232af72b4e471b5afa4b8cd7b6cfba6f89e8e864ae
|
data/.gitignore
CHANGED
data/Guardfile
CHANGED
@@ -5,7 +5,7 @@ guard 'rspec', :spec_paths => extensions.map{|e| "#{e}/spec"}, :cli => (['~/.rsp
|
|
5
5
|
watch(%r{^#{extension}/spec/.+_spec\.rb$})
|
6
6
|
watch(%r{^#{extension}/app/(.+)\.rb$}) { |m| "#{extension}/spec/#{m[1]}_spec.rb" }
|
7
7
|
watch(%r{^#{extension}/lib/(.+)\.rb$}) { |m| "#{extension}/spec/lib/#{m[1]}_spec.rb" }
|
8
|
-
watch(%r{^#{extension}/app/controllers/(.+)_(controller)\.rb$}) { |m|
|
8
|
+
watch(%r{^#{extension}/app/controllers/constructor_#{extension}/(.+)_(controller)\.rb$}) { |m| "#{extension}/spec/features/constructor_#{extension}/#{m[1]}_spec.rb" }
|
9
9
|
watch(%r{^#{extension}/spec/support/(.+)\.rb$}) { "#{extension}/spec" }
|
10
10
|
watch("#{extension}/spec/spec_helper.rb") { "#{extension}/spec" }
|
11
11
|
# Capybara request specs
|
data/README.md
CHANGED
data/Rakefile
CHANGED
@@ -10,6 +10,8 @@ APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
|
|
10
10
|
load 'rails/tasks/engine.rake'
|
11
11
|
require 'rspec/core/rake_task'
|
12
12
|
|
13
|
+
Dir[File.expand_path('../tasks/**/*', __FILE__)].each {|task| load task}
|
14
|
+
|
13
15
|
RSpec::Core::RakeTask.new(:spec) do |t|
|
14
16
|
t.pattern = './**/*_spec.rb'
|
15
17
|
end
|
@@ -23,22 +23,17 @@ module ConstructorPages
|
|
23
23
|
def update
|
24
24
|
@field = Field.find params[:id]
|
25
25
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
new_field.value = field.value
|
35
|
-
end
|
36
|
-
|
37
|
-
new_field.save
|
38
|
-
|
39
|
-
field.destroy
|
40
|
-
end
|
26
|
+
unless @field.type_value == params[:field][:type_value]
|
27
|
+
@field.type_class.where(field_id: @field.id).each do |field|
|
28
|
+
"constructor_pages/types/#{params[:field][:type_value]}_type".classify.constantize.new(
|
29
|
+
field_id: @field.id, page_id: field.page_id).tap {|f|
|
30
|
+
f.value = field.value unless [@field.type_value, params[:field][:type_value]].include?('image') and
|
31
|
+
(@field.type_value == 'string' and field.value.strip == '')
|
32
|
+
f.save; field.destroy
|
33
|
+
}
|
41
34
|
end
|
35
|
+
end
|
36
|
+
|
42
37
|
if @field.update field_params
|
43
38
|
redirect_to edit_template_url(@field.template.id), notice: t(:field_success_updated, name: @field.name)
|
44
39
|
else
|
@@ -1,9 +1,7 @@
|
|
1
1
|
module ConstructorPages
|
2
2
|
module CodeNameUniq
|
3
3
|
def code_name_uniqueness
|
4
|
-
unless Page.check_code_name(code_name) and check_code_name(code_name)
|
5
|
-
errors.add(:base, :code_name_already_in_use)
|
6
|
-
end
|
4
|
+
errors.add(:base, :code_name_already_in_use) unless Page.check_code_name(code_name) and check_code_name(code_name)
|
7
5
|
end
|
8
6
|
end
|
9
7
|
end
|
@@ -2,14 +2,14 @@
|
|
2
2
|
|
3
3
|
module ConstructorPages
|
4
4
|
# Field model. Fields allows to add custom fields for template.
|
5
|
-
#
|
6
5
|
# Each field has type of value such as float, integer, string...
|
7
6
|
class Field < ActiveRecord::Base
|
8
7
|
# Adding code_name_uniqueness method
|
9
8
|
include CodeNameUniq
|
10
9
|
|
11
10
|
# Array of available field types
|
12
|
-
TYPES = %w{string integer float boolean text date html image}
|
11
|
+
TYPES = %w{string integer float boolean text date html image}.tap {|_t|
|
12
|
+
_t.each {|t| class_eval %{has_many :#{t}_types, dependent: :destroy, class_name: 'Types::#{t.titleize}Type'}}}
|
13
13
|
|
14
14
|
validates_presence_of :name
|
15
15
|
validates_uniqueness_of :code_name, scope: :template_id
|
@@ -18,25 +18,17 @@ module ConstructorPages
|
|
18
18
|
after_create :create_page_fields
|
19
19
|
after_destroy :destroy_all_page_fields
|
20
20
|
|
21
|
-
belongs_to :template
|
22
|
-
|
23
|
-
# Adding has_many for all field types
|
24
|
-
TYPES.each do |t|
|
25
|
-
class_eval %{
|
26
|
-
has_many :#{t}_types, dependent: :destroy, class_name: 'Types::#{t.titleize}Type'
|
27
|
-
}
|
28
|
-
end
|
29
|
-
|
30
21
|
has_many :pages, through: :template
|
22
|
+
belongs_to :template
|
31
23
|
|
32
|
-
acts_as_list
|
24
|
+
acts_as_list scope: :template_id
|
33
25
|
default_scope -> { order :position }
|
34
26
|
|
35
27
|
# Return constant of model type_value
|
36
28
|
def type_class; "constructor_pages/types/#{type_value}_type".classify.constantize end
|
37
29
|
|
38
30
|
# Return object of type_value by page
|
39
|
-
def find_type_object(page); type_class.
|
31
|
+
def find_type_object(page); type_class.find_by(field_id: id, page_id: page.id) end
|
40
32
|
|
41
33
|
# Create object of type_value by page
|
42
34
|
def create_type_object(page); type_class.create(field_id: id, page_id: page.id) end
|
@@ -45,43 +37,23 @@ module ConstructorPages
|
|
45
37
|
def remove_type_object(page); find_type_object(page).destroy end
|
46
38
|
|
47
39
|
# Get value from type_field for specified page
|
48
|
-
def get_value_for(page)
|
49
|
-
_type_object = find_type_object(page)
|
50
|
-
_type_object ? _type_object.value : nil
|
51
|
-
end
|
40
|
+
def get_value_for(page); find_type_object(page).tap {|t| return t && t.value} end
|
52
41
|
|
53
42
|
# Set value type_field for specified page
|
54
|
-
def set_value_for(page, value)
|
55
|
-
_type_object = find_type_object(page)
|
56
|
-
|
57
|
-
if _type_object
|
58
|
-
_type_object.value = value
|
59
|
-
_type_object.save!
|
60
|
-
end
|
61
|
-
end
|
43
|
+
def set_value_for(page, value); find_type_object(page).tap {|t| t || return; t.update value: value} end
|
62
44
|
|
63
45
|
private
|
64
46
|
|
65
47
|
# Check if there is code_name in template branch
|
66
48
|
def check_code_name(code_name)
|
67
|
-
[code_name.pluralize, code_name.singularize].each
|
68
|
-
%w{self_and_ancestors descendants}.each
|
69
|
-
if template.send(m).map
|
70
|
-
return false
|
71
|
-
end
|
72
|
-
end
|
73
|
-
end
|
74
|
-
|
49
|
+
[code_name.pluralize, code_name.singularize].each {|name|
|
50
|
+
%w{self_and_ancestors descendants}.each {|m|
|
51
|
+
return false if template.send(m).map(&:code_name).include?(name)}}
|
75
52
|
true
|
76
53
|
end
|
77
54
|
|
78
55
|
# Create and destroy page fields
|
79
|
-
%w{create destroy_all}.each
|
80
|
-
|
81
|
-
def #{m}_page_fields
|
82
|
-
template.pages.each {|page| type_class.#{m} page_id: page.id, field_id: id}
|
83
|
-
end
|
84
|
-
}
|
85
|
-
end
|
56
|
+
%w{create destroy_all}.each {|m| class_eval %{
|
57
|
+
def #{m}_page_fields; template.pages.each {|page| type_class.#{m} page_id: page.id, field_id: id} end }}
|
86
58
|
end
|
87
59
|
end
|
@@ -5,11 +5,10 @@ module ConstructorPages
|
|
5
5
|
class Page < ActiveRecord::Base
|
6
6
|
# Adding has_many for all field types
|
7
7
|
Field::TYPES.each do |t|
|
8
|
-
class_eval %{
|
8
|
+
class_eval %{has_many :#{t}_types, dependent: :destroy, class_name: 'Types::#{t.titleize}Type'}
|
9
9
|
end
|
10
10
|
|
11
11
|
has_many :fields, through: :template
|
12
|
-
|
13
12
|
belongs_to :template
|
14
13
|
|
15
14
|
default_scope -> { order :lft }
|
@@ -48,31 +47,12 @@ module ConstructorPages
|
|
48
47
|
end
|
49
48
|
|
50
49
|
def search(what_search = nil)
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
end
|
57
|
-
|
58
|
-
@result = _page ? _page.descendants : []
|
59
|
-
else
|
60
|
-
@result = Page.all
|
61
|
-
end
|
62
|
-
|
63
|
-
if what_search
|
64
|
-
_template = Template.find_by code_name: what_search.to_s.singularize.downcase
|
65
|
-
@result = _template ? @result.where(template: _template) : []
|
66
|
-
end
|
67
|
-
|
68
|
-
if @params_search
|
69
|
-
@params_search.each_pair do |k, v|
|
70
|
-
@result = @result.select { |p| p.send(k) == v }
|
71
|
-
end
|
72
|
-
end
|
73
|
-
|
50
|
+
(@where_search.is_a?(String) ? Page.find_by(full_url: @where_search) : @where_search)
|
51
|
+
.tap {|p| @result = @where_search ? p ? p.descendants : [] : Page.all }
|
52
|
+
what_search && Template.find_by(code_name: what_search.to_s.singularize.downcase)
|
53
|
+
.tap {|t| @result = t ? @result.where(template: t) : [] }
|
54
|
+
@params_search && @params_search.each_pair {|k,v| @result = @result.select {|p| p.send(k) == v}}
|
74
55
|
@where_search = @params_search = nil
|
75
|
-
|
76
56
|
@result
|
77
57
|
end
|
78
58
|
|
@@ -84,6 +64,7 @@ module ConstructorPages
|
|
84
64
|
end
|
85
65
|
|
86
66
|
def search(what_search = nil); Page.in(self).search(what_search) end
|
67
|
+
def by(params_search = nil); Page.by(params_search); self end
|
87
68
|
def search_by(params_search = nil); Page.by(params_search).in(self).search end
|
88
69
|
|
89
70
|
# Get field by code_name
|
@@ -105,28 +86,19 @@ module ConstructorPages
|
|
105
86
|
# @param params should looks like <tt>{price: 500, content: 'Hello'}</tt>
|
106
87
|
# @param reset_booleans reset all boolean fields to false before assign params
|
107
88
|
def update_fields_values(params, reset_booleans = true)
|
108
|
-
|
109
|
-
|
110
|
-
fields.each do |field|
|
111
|
-
value = params[field.code_name.to_sym]
|
112
|
-
|
113
|
-
_type_object = field.find_type_object(self)
|
89
|
+
params || return
|
114
90
|
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
end
|
120
|
-
end
|
91
|
+
fields.each {|f| f.find_type_object(self).tap {|t| t || break
|
92
|
+
t.value = 0 if f.type_value == 'boolean' && reset_booleans
|
93
|
+
params[f.code_name.to_sym].tap {|v| v && t.value = v}
|
94
|
+
t.save }}
|
121
95
|
end
|
122
96
|
|
123
97
|
# Create fields values
|
124
|
-
def create_fields_values; fields.each {|f| f.create_type_object
|
98
|
+
def create_fields_values; fields.each {|f| f.create_type_object self} end
|
125
99
|
|
126
100
|
# Remove all fields values
|
127
|
-
def remove_fields_values
|
128
|
-
fields.each {|f| f.remove_type_object self}
|
129
|
-
end
|
101
|
+
def remove_fields_values; fields.each {|f| f.remove_type_object self} end
|
130
102
|
|
131
103
|
# Search page by template code_name in same branch of pages and templates.
|
132
104
|
# It allows to call page.category.brand.series.model etc.
|
@@ -135,16 +107,11 @@ module ConstructorPages
|
|
135
107
|
# and return array of pages if founded in descendants
|
136
108
|
#
|
137
109
|
# It determines if code_name is singular or nor
|
138
|
-
# @param
|
139
|
-
def find_page_in_branch(
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
result = []
|
144
|
-
result = descendants.where(template_id: _template.id) if code_name == code_name.pluralize
|
145
|
-
result = ancestors.find_by(template_id: _template.id) if result.empty?
|
146
|
-
result
|
147
|
-
end
|
110
|
+
# @param cname template code name
|
111
|
+
def find_page_in_branch(cname)
|
112
|
+
Template.find_by(code_name: cname.singularize).tap {|t| t || return
|
113
|
+
(descendants.where(template_id: t.id) if cname == cname.pluralize).tap {|r| r ||= []
|
114
|
+
return r.empty? ? ancestors.find_by(template_id: t.id) : r}}
|
148
115
|
end
|
149
116
|
|
150
117
|
alias_method :find_pages_in_branch, :find_page_in_branch
|
@@ -159,9 +126,7 @@ module ConstructorPages
|
|
159
126
|
# @param options default merge name and title page attributes
|
160
127
|
def as_json(options = {})
|
161
128
|
{name: self.name, title: self.title}.merge(options).tap do |options|
|
162
|
-
fields.each
|
163
|
-
options.merge!({f.code_name.to_sym => f.get_value_for(self)})
|
164
|
-
end
|
129
|
+
fields.each {|f| options.merge!({f.code_name.to_sym => f.get_value_for(self)})}
|
165
130
|
end
|
166
131
|
end
|
167
132
|
|
@@ -175,12 +140,9 @@ module ConstructorPages
|
|
175
140
|
# puts page.price
|
176
141
|
# page.brand.models.each do...
|
177
142
|
def method_missing(name, *args, &block)
|
178
|
-
if new_record?
|
179
|
-
|
180
|
-
|
181
|
-
name = name.to_s
|
182
|
-
name[-1] == '=' ? set_field_value(name[0..-2], args[0]) : get_field_value(name) || find_pages_in_branch(name)
|
183
|
-
end
|
143
|
+
super && return if new_record?
|
144
|
+
name = name.to_s
|
145
|
+
name[-1] == '=' ? set_field_value(name[0..-2], args[0]) : get_field_value(name) || find_pages_in_branch(name)
|
184
146
|
end
|
185
147
|
|
186
148
|
private
|
@@ -192,19 +154,13 @@ module ConstructorPages
|
|
192
154
|
|
193
155
|
# TODO: add more languages
|
194
156
|
# translit to english
|
195
|
-
def translit(str)
|
196
|
-
Russian.translit(str)
|
197
|
-
end
|
157
|
+
def translit(str); Russian.translit(str) end
|
198
158
|
|
199
159
|
# Page is not valid if there is no template
|
200
|
-
def template_check
|
201
|
-
errors.add_on_empty(:template_id) if Template.count == 0
|
202
|
-
end
|
160
|
+
def template_check; errors.add_on_empty(:template_id) if Template.count == 0 end
|
203
161
|
|
204
162
|
# If template_id is nil then get first template
|
205
|
-
def template_assign
|
206
|
-
self.template_id = Template.first.id unless template_id
|
207
|
-
end
|
163
|
+
def template_assign; self.template_id = Template.first.id unless template_id end
|
208
164
|
|
209
165
|
# Update full_url
|
210
166
|
def full_url_update
|
@@ -23,23 +23,15 @@ module ConstructorPages
|
|
23
23
|
|
24
24
|
# Return child corresponding child_id or children first
|
25
25
|
def child
|
26
|
-
|
27
|
-
children.first
|
28
|
-
else
|
29
|
-
Template.find child_id
|
30
|
-
end
|
26
|
+
!child_id && !leaf? ? children.first : self.class.find(child_id)
|
31
27
|
end
|
32
28
|
|
33
29
|
private
|
34
30
|
|
35
31
|
# Check if there is code_name in same branch
|
36
|
-
def check_code_name(
|
37
|
-
[
|
38
|
-
if root.descendants.map{|t| t.code_name unless t.code_name ==
|
39
|
-
return false
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
32
|
+
def check_code_name(cname)
|
33
|
+
[cname.pluralize, cname.singularize].each {|name|
|
34
|
+
return false if root.descendants.map{|t| t.code_name unless t.code_name == cname}.include?(name)}
|
43
35
|
true
|
44
36
|
end
|
45
37
|
end
|
data/pages/config/routes.rb
CHANGED
@@ -15,12 +15,11 @@ ConstructorPages::Engine.routes.draw do
|
|
15
15
|
get ':id/:template_id/edit/' => 'fields#edit', as: :edit_field
|
16
16
|
end
|
17
17
|
|
18
|
-
|
19
|
-
get ':page/new' => 'pages#new', as: :new_child_page
|
20
|
-
end
|
18
|
+
get '/pages/:page/new' => 'pages#new', as: :new_child_page
|
21
19
|
end
|
22
20
|
|
23
21
|
root :to => 'pages#show'
|
22
|
+
|
24
23
|
get '*all/search/:what_search' => 'pages#search', format: false
|
25
24
|
get '*all.:format' => 'pages#show'
|
26
25
|
get '*all' => 'pages#show'
|
File without changes
|
File without changes
|
data/pages/spec/features/constructor_pages/{templates_controller_spec.rb → templates_spec.rb}
RENAMED
File without changes
|
File without changes
|
@@ -138,7 +138,6 @@ module ConstructorPages
|
|
138
138
|
end
|
139
139
|
end
|
140
140
|
|
141
|
-
|
142
141
|
context 'search in certain page' do
|
143
142
|
it 'should search with what search' do
|
144
143
|
@page.search.should == [@first_brand_page, @second_brand_page]
|
@@ -150,7 +149,9 @@ module ConstructorPages
|
|
150
149
|
it 'it should search with by params' do
|
151
150
|
@page.search_by(area: 25).should == [@first_brand_page]
|
152
151
|
@page.search_by(price: 30000).should == [@second_brand_page]
|
152
|
+
@page.by(price: 30000).search.should == [@second_brand_page]
|
153
153
|
@page.search_by(area: 10).should == []
|
154
|
+
@page.by(area: 10).search.should == []
|
154
155
|
end
|
155
156
|
end
|
156
157
|
end
|
File without changes
|
data/pages/spec/models/constructor_pages/types/{boolean_type_model_spec.rb → boolean_type_spec.rb}
RENAMED
File without changes
|
data/pages/spec/models/constructor_pages/types/{date_type_model_spec.rb → date_type_spec.rb}
RENAMED
File without changes
|
data/pages/spec/models/constructor_pages/types/{float_type_model_spec.rb → float_type_spec.rb}
RENAMED
File without changes
|
data/pages/spec/models/constructor_pages/types/{html_type_model_spec.rb → html_type_spec.rb}
RENAMED
File without changes
|
data/pages/spec/models/constructor_pages/types/{integer_type_model_spec.rb → integer_type_spec.rb}
RENAMED
File without changes
|
data/pages/spec/models/constructor_pages/types/{string_type_model_spec.rb → string_type_spec.rb}
RENAMED
File without changes
|
data/pages/spec/models/constructor_pages/types/{text_type_model_spec.rb → text_type_spec.rb}
RENAMED
File without changes
|
@@ -0,0 +1,15 @@
|
|
1
|
+
namespace :all do
|
2
|
+
desc 'Build gems into the pkg directory'
|
3
|
+
task :build do
|
4
|
+
sh 'rake build'
|
5
|
+
|
6
|
+
%w{core pages}.each do |engine|
|
7
|
+
sh "gem build #{engine}/constructor-#{engine}.gemspec && mv constructor-#{engine}-#{ConstructorCore::VERSION}.gem pkg/"
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
desc 'Push all gems to Rubygems'
|
12
|
+
task :push do
|
13
|
+
sh "for i in pkg/*#{ConstructorCore::VERSION}.gem; do gem push $i; done"
|
14
|
+
end
|
15
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: constructor-cms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ivan Zotov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-06-
|
11
|
+
date: 2013-06-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: constructor-core
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.7.
|
19
|
+
version: 0.7.2
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.7.
|
26
|
+
version: 0.7.2
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: constructor-pages
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - '='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.7.
|
33
|
+
version: 0.7.2
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - '='
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.7.
|
40
|
+
version: 0.7.2
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec-rails
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -394,20 +394,20 @@ files:
|
|
394
394
|
- pages/lib/constructor-pages.rb
|
395
395
|
- pages/lib/constructor_pages/engine.rb
|
396
396
|
- pages/public/hello.txt
|
397
|
-
- pages/spec/features/constructor_pages/
|
398
|
-
- pages/spec/features/constructor_pages/
|
399
|
-
- pages/spec/features/constructor_pages/
|
397
|
+
- pages/spec/features/constructor_pages/fields_spec.rb
|
398
|
+
- pages/spec/features/constructor_pages/pages_spec.rb
|
399
|
+
- pages/spec/features/constructor_pages/templates_spec.rb
|
400
400
|
- pages/spec/helpers/constructor_pages/.keep
|
401
|
-
- pages/spec/models/constructor_pages/
|
402
|
-
- pages/spec/models/constructor_pages/
|
403
|
-
- pages/spec/models/constructor_pages/
|
404
|
-
- pages/spec/models/constructor_pages/types/
|
405
|
-
- pages/spec/models/constructor_pages/types/
|
406
|
-
- pages/spec/models/constructor_pages/types/
|
407
|
-
- pages/spec/models/constructor_pages/types/
|
408
|
-
- pages/spec/models/constructor_pages/types/
|
409
|
-
- pages/spec/models/constructor_pages/types/
|
410
|
-
- pages/spec/models/constructor_pages/types/
|
401
|
+
- pages/spec/models/constructor_pages/field_spec.rb
|
402
|
+
- pages/spec/models/constructor_pages/page_spec.rb
|
403
|
+
- pages/spec/models/constructor_pages/template_spec.rb
|
404
|
+
- pages/spec/models/constructor_pages/types/boolean_type_spec.rb
|
405
|
+
- pages/spec/models/constructor_pages/types/date_type_spec.rb
|
406
|
+
- pages/spec/models/constructor_pages/types/float_type_spec.rb
|
407
|
+
- pages/spec/models/constructor_pages/types/html_type_spec.rb
|
408
|
+
- pages/spec/models/constructor_pages/types/integer_type_spec.rb
|
409
|
+
- pages/spec/models/constructor_pages/types/string_type_spec.rb
|
410
|
+
- pages/spec/models/constructor_pages/types/text_type_spec.rb
|
411
411
|
- pages/spec/routing/constructor_pages/.keep
|
412
412
|
- spec/dummy/README.rdoc
|
413
413
|
- spec/dummy/Rakefile
|
@@ -450,6 +450,7 @@ files:
|
|
450
450
|
- spec/dummy/public/favicon.ico
|
451
451
|
- spec/dummy/public/robots.txt
|
452
452
|
- spec/spec_helper.rb
|
453
|
+
- tasks/constructor-cms_tasks.rake
|
453
454
|
homepage: http://ivanzotov.github.com/constructor
|
454
455
|
licenses: []
|
455
456
|
metadata: {}
|
@@ -515,4 +516,3 @@ test_files:
|
|
515
516
|
- spec/dummy/public/favicon.ico
|
516
517
|
- spec/dummy/public/robots.txt
|
517
518
|
- spec/spec_helper.rb
|
518
|
-
has_rdoc:
|