social_catalog 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
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