social_catalog 0.1.0 → 0.1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '065497fc29c66a8164808e92ca9c1d738d40990c7616b5efee708b83a1d3f8d9'
4
- data.tar.gz: 5f02714ea10b7050d153c7f742a8f79368a8782ad8aa2ec51264dc4723433da4
3
+ metadata.gz: 81fb1086a7e678a687cd2b03ae025a7c9a70092f23248ea3aae0b4b54a45a57b
4
+ data.tar.gz: 8593c521a943e7529cb5be22fe1ac5769fc99d87fd161a3d4bbece89ce1ddb3c
5
5
  SHA512:
6
- metadata.gz: 8d5fff22b81903853f2a2186853c22c9718d45da59f141ebea3d7505e74c3c08720a17b1dffd62bcfc897a52c36a795da9fcb6a814cde4d4763ced7dc4976481
7
- data.tar.gz: d4a17f6c30a465c9da49d7c70f062b5cb2fa855a28e9b3901f806fbfd5647eb57ae92ff2fb87d34df46a3723a2d79aad21dfbe5e117319b05e4a8f402794c281
6
+ metadata.gz: 9233de7976273e60e3644fe50fe826c07613dc538b9688b1f42230d6d3c7e2d6b89e1ef84714a1ca5f704bd0a94b55aadd52062b86db14a36ac3ca79bf7610a6
7
+ data.tar.gz: 0f01331142f0c94d7ec2fed12ea792dfed8475f490793cedc4779d540991ca0a77792021851fdf92fa58d757bdfd0921edc44282dd3d845bb22dd27c76465e8c
data/README.md CHANGED
@@ -4,45 +4,61 @@ Library to render xml & other formats especially for FB and others.
4
4
  The project at the initial state, any great contribution are welcome.
5
5
 
6
6
  ## Usage
7
- Add to initializers folder social_catalog.rb
8
7
 
9
- SocialCatalog.facebook_items = lambda { |xml|
10
- data = [
11
- { title: 'Test1',
12
- link: SocialCatalog.base_url + '/items/some1',
13
- some_field: 'field1',
14
- updated: Time.now.to_s },
15
- { title: 'Test2',
16
- link: SocialCatalog.base_url + '/items/some2',
17
- some_field: 'field2',
18
- updated: Time.now.to_s },
19
- { title: 'Test3',
20
- link: SocialCatalog.base_url + '/items/some3',
21
- some_field: 'field3',
22
- updated: Time.now.to_s },
23
- { title: 'Test4',
24
- link: SocialCatalog.base_url + '/items/some4',
25
- some_field: 'field4',
26
- updated: Time.now.to_s }
27
- ]
28
- data.each do |d|
29
- xml.item do
30
- xml.title d[:title]
31
- xml.description d[:title]
32
- xml.link d[:link]
33
- xml.image_link d[:link]
34
- xml.brand d[:link]
35
- xml.condition 'new'
36
- xml.availability 'in stock'
37
- xml.price '100000.99 RUB'
38
- xml.shipping do
39
- xml.country 'Russia'
40
- xml.service 'Standard'
41
- xml.price '1000 RUB'
42
- end
43
- end
44
- end
45
- }
8
+ ### Add to initializers folder social_catalog.rb
9
+
10
+ ```ruby
11
+ SocialCatalog.author = 'Am'
12
+ SocialCatalog.title = 'Test'
13
+ SocialCatalog.description = 'Test'
14
+ SocialCatalog.url_prefix = 'social-test-catalog'
15
+ SocialCatalog.expires_in = 1.hours
16
+ SocialCatalog.base_url = 'http://localhost:3000'
17
+
18
+ SocialCatalog.facebook_items = lambda { |xml|
19
+ data = [
20
+ { title: 'Test1',
21
+ link: SocialCatalog.base_url + '/items/some1',
22
+ some_field: 'field1',
23
+ updated: Time.now.to_s },
24
+ { title: 'Test2',
25
+ link: SocialCatalog.base_url + '/items/some2',
26
+ some_field: 'field2',
27
+ updated: Time.now.to_s },
28
+ { title: 'Test3',
29
+ link: SocialCatalog.base_url + '/items/some3',
30
+ some_field: 'field3',
31
+ updated: Time.now.to_s },
32
+ { title: 'Test4',
33
+ link: SocialCatalog.base_url + '/items/some4',
34
+ some_field: 'field4',
35
+ updated: Time.now.to_s }
36
+ ]
37
+ data.each do |d|
38
+ xml.item do
39
+ xml.title d[:title]
40
+ xml.description d[:title]
41
+ xml.link d[:link]
42
+ xml.image_link d[:link]
43
+ xml.brand d[:link]
44
+ xml.condition 'new'
45
+ xml.availability 'in stock'
46
+ xml.price '100000.99 RUB'
47
+ xml.shipping do
48
+ xml.country 'Russia'
49
+ xml.service 'Standard'
50
+ xml.price '1000 RUB'
51
+ end
52
+ end
53
+ end
54
+ }
55
+ ```
56
+
57
+ ### Add to routes
58
+
59
+ ```ruby
60
+ mount SocialCatalog::Engine, at: "/social-test-catalog"
61
+ ```
46
62
 
47
63
  ## Installation
48
64
  Add this line to your application's Gemfile:
@@ -8,6 +8,7 @@ module SocialCatalog
8
8
  mattr_accessor :author
9
9
  mattr_accessor :title
10
10
  mattr_accessor :description
11
+ mattr_accessor :expires_in, default: 12.hours
11
12
  mattr_accessor :base_url
12
13
  mattr_accessor :facebook_items, default: proc {}
13
14
  end
@@ -11,11 +11,13 @@ module SocialCatalog
11
11
  # @param [Proc] block
12
12
  # @return [String]
13
13
  def call(&block)
14
- Rails.cache.fetch('social-catalog:facebook') do
14
+ Rails.cache.fetch('social-catalog:facebook',
15
+ expires_in: SocialCatalog.expires_in) do
15
16
  full_host = SocialCatalog.base_url
16
17
 
17
18
  builder = Nokogiri::XML::Builder.new do |xml|
18
- xml.rss('xmlns:g' => 'http://base.google.com/ns/1.0', 'version' => '2.0') do
19
+ xml.rss('xmlns:g' => 'http://base.google.com/ns/1.0',
20
+ 'version' => '2.0') do
19
21
  xml.channel do
20
22
  xml.title SocialCatalog.title
21
23
  xml.description SocialCatalog.description
@@ -1,3 +1,3 @@
1
1
  module SocialCatalog
2
- VERSION = '0.1.0'
2
+ VERSION = '0.1.1'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: social_catalog
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Merkulov