constructor-pages 0.8.6 → 0.8.7
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/app/models/constructor_pages/page.rb +29 -26
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: faf1f032d1ec89024e5b084a5e2ac7d8d1f6c314
|
4
|
+
data.tar.gz: ac50636c415bcd262f2914351035f0dfc20ef8cb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8ee5412da1e0460c3dcbe2a5847c182c09e283c96bb9c89524c663ca527c92b1dc605804eedf13f4f8cb2380f60002a1426b1c6fe73de91d71eb4dfd2d46fc57
|
7
|
+
data.tar.gz: fa9d1b99f03fd28d70e6bf86cd55f46a44e919d92927c5a42826a36355c34cd958085ae6d439a0df511436f253c74a55c2444a098f0ceaed2ecaa0e645b94135
|
@@ -15,9 +15,9 @@ module ConstructorPages
|
|
15
15
|
|
16
16
|
default_scope -> { order :lft }
|
17
17
|
|
18
|
-
validate :
|
18
|
+
validate :templates_existing_check
|
19
19
|
|
20
|
-
before_save :friendly_url, :
|
20
|
+
before_save :friendly_url, :assing_template, :full_url_update
|
21
21
|
after_update :descendants_update
|
22
22
|
after_create :create_fields_values
|
23
23
|
|
@@ -46,29 +46,32 @@ module ConstructorPages
|
|
46
46
|
true
|
47
47
|
end
|
48
48
|
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
49
|
+
# Search pages
|
50
|
+
#
|
51
|
+
# Example:
|
52
|
+
# Page.in('/conditioners').search_by(area: 25)
|
53
|
+
# Page.by('price<' => 5000).search_in('/zanussi')
|
54
|
+
# Page.in('/midea').by('price>' => 10000).search(:models)
|
55
|
+
def search(what = nil)
|
56
|
+
_hash, _array = {}, []
|
57
|
+
@where = Page.find_by(full_url: @where) if @where.is_a?(String)
|
58
|
+
_array = ['lft > ? and rgt < ?', @where.lft, @where.rgt] if @where
|
59
|
+
if what
|
60
|
+
what = what.to_s.singularize.downcase
|
61
|
+
_hash[:template_id] = ConstructorPages::Template.find_by(code_name: what).try(:id)
|
62
|
+
end
|
63
|
+
_hash[:id] = ids_by_params(@params) if @params
|
64
|
+
@where = @params = nil
|
65
|
+
_hash.empty? && _array.empty? ? [] : Page.where(_hash).where(_array).to_a
|
63
66
|
end
|
64
67
|
|
65
|
-
def in(
|
66
|
-
def by(
|
67
|
-
|
68
|
-
def search_in(where_search = nil); self.in(where_search).search end
|
69
|
-
def search_by(params_search = nil); self.by(params_search).search end
|
68
|
+
def in(where = nil); tap {@where = where} end
|
69
|
+
def by(params = nil); tap {@params = params} end
|
70
70
|
|
71
|
+
def search_in(where = nil); self.in(where).search end
|
72
|
+
def search_by(params = nil); self.by(params).search end
|
71
73
|
|
74
|
+
# Return ids of pages founded by params
|
72
75
|
def ids_by_params(params)
|
73
76
|
_hash = {}
|
74
77
|
|
@@ -108,9 +111,9 @@ module ConstructorPages
|
|
108
111
|
end
|
109
112
|
end
|
110
113
|
|
111
|
-
def search(
|
112
|
-
def by(
|
113
|
-
def search_by(
|
114
|
+
def search(what = nil); Page.in(self).search(what) end
|
115
|
+
def by(params = nil); Page.by(params); self end
|
116
|
+
def search_by(params = nil); Page.by(params).in(self).search end
|
114
117
|
|
115
118
|
# Get field by code_name
|
116
119
|
def field(code_name)
|
@@ -205,10 +208,10 @@ module ConstructorPages
|
|
205
208
|
end
|
206
209
|
|
207
210
|
# Page is not valid if there is no template
|
208
|
-
def
|
211
|
+
def templates_existing_check; errors.add_on_empty(:template_id) if Template.count == 0 end
|
209
212
|
|
210
213
|
# If template_id is nil then get first template
|
211
|
-
def
|
214
|
+
def assign_template; self.template_id = Template.first.id unless template_id end
|
212
215
|
|
213
216
|
# Update full_url
|
214
217
|
def full_url_update
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: constructor-pages
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.7
|
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-07-
|
11
|
+
date: 2013-07-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: constructor-core
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.8.
|
19
|
+
version: 0.8.7
|
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.8.
|
26
|
+
version: 0.8.7
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: dragonfly
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|