refinerycms-llama_widgets 0.2.1 → 0.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3ed8b5189fb60a7aa96ea215e314875be0d74c34
4
- data.tar.gz: 98d9b4a9bfb482641aeab8b9e7a1f45d3add63a7
3
+ metadata.gz: 6aa6edc07aaa952c90434403d2acdbfde43e7ec0
4
+ data.tar.gz: 85a5d013493d7e7cb13dbdf99fc42d6223bbb3db
5
5
  SHA512:
6
- metadata.gz: 82912073ee94facdef763b54c33e03746805ccc97cb50b3cf56cda893a5df8ad0c4684db61838cf3d52b788bfed336fcab46af7a49f878f439d711b180679488
7
- data.tar.gz: c7d9ce63720082946a2f4042a3704c3b0bc127bdb369bd6accf195424d2e6b25e478adb19d53872ee5497e39c7f3da71e8ea28442d5bd68c409ebb28479f2e81
6
+ metadata.gz: a23f6f37aa21e1d72b7b3fd96b8f09aa14f53d98a4f74e589c2b994ab13fdbcb4102479de7cc548d6f3b711cab53f68f9fd9176195d8b04251184853a3e2dceb
7
+ data.tar.gz: b3373f1061b6a39ff9ba42b0ef172970d815642c2e816c81dc16ed0b304c267941d5b2143c3c625640df8bf53086cb0d56e3d5b6bdbda0710ba9164e438843c9
@@ -23,6 +23,35 @@ Refinery::Page.class_eval do
23
23
  (::Refinery::Pages.default_parts.collect{|dp| parts.find{|p| p.title == dp } } + parts).uniq
24
24
  end
25
25
 
26
+ def self.find_or_create_by_link_url!(link_url, options={})
27
+ page = self.find_by_link_url(link_url)
28
+ if page
29
+ return page
30
+ else
31
+ page = self.new(
32
+ title: link_url.gsub(/\W/, ' ').strip.capitalize,
33
+ link_url: link_url,
34
+ deletable: false,
35
+ menu_match: "^#{link_url}(\/|\/.+?|)$",
36
+ show_in_menu: false
37
+ )
38
+ if options[:parent].present?
39
+ parent = self.find_by_link_url(options[:parent])
40
+ if parent.nil?
41
+ parent = self.find_or_create_by_link_url(options[:parent])
42
+ end
43
+ page.parent_id = parent.id
44
+ end
45
+ page.save!
46
+ Refinery::Pages.default_parts.each_with_index do |default_page_part, index|
47
+ page.parts.create(:title => default_page_part, :body => nil, :position => index)
48
+ end
49
+ page.template_id = ::Refinery::Widgets::Template.first.id
50
+ page.save!
51
+ page
52
+ end
53
+ end
54
+
26
55
  private
27
56
 
28
57
  def validate_widgets
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: refinerycms-llama_widgets
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Bolt