hyperfeed 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/README.md +39 -35
  2. data/lib/hyperfeed/version.rb +1 -1
  3. metadata +11 -11
data/README.md CHANGED
@@ -1,8 +1,10 @@
1
1
  # Hyperfeed
2
2
 
3
- An adapter to plug feeds content on hypermedia engines
3
+ This gem turns RSS Feeds into ruby objects. It is a [HttpMonkey](https://github.com/rogerleite/http_monkey) middleware wich parse the feeds xml dynamically and create a hash from the given attributes.
4
4
 
5
- THIS A PROOF OF CONCEPT, SO COWBOY MODE IS ON!
5
+ As a gift for you this hash is [Methodized](https://github.com/lfcipriani/methodize), in other words, you can read the hash attributes as object methods.
6
+
7
+ *Note: currently supports only RSS feeds type (someone wants to code a Atom support???) and we let you to use feeds thats has more than W3C attributes on the content.
6
8
 
7
9
  ## Installation
8
10
 
@@ -22,39 +24,41 @@ Or install it yourself as:
22
24
 
23
25
 
24
26
  ``` ruby
25
- #For content lists:
26
-
27
- response = Hyperfeed::Client.at("http://contigo.abril.com.br/noticias.rss").get
28
- puts response.hyperfeed.inspect
29
-
30
- {:itens_por_pagina=>10,
31
- :pagina_atual=>1,
32
- :paginas_totais=>1,
33
- :total_resultado=>10,
34
- :resultado=>[{:id=>"http://contigo.abril.com.br/noticias.rss?resource_id=0",
35
- :data=>"2013-04-04 12:38:00 -0300",
36
- :titulo=>"Sabrina Sato, Rodrigo Faro e Thiago Martins se encontram em evento, em São Paulo",
37
- :marca=>"Contigo",
38
- :descricao=>"<p>\n\tUm time de estrelas se reuniu na ma...",
39
- :tipo_recurso=>"feed", :link=>{:href=>"http://contigo.abril.com.br/noticias.rss?resource_id=0",
40
- :rel=>"feed",
41
- :type=>"application/json"}}]}
42
-
43
-
44
-
45
- #For a content
46
-
47
- response = Hyperfeed::Client.at("http://contigo.abril.com.br/noticias.rss?resource_id=7").get
48
- puts response.hyperfeed.inspect
49
-
50
- {:id=>"http://contigo.abril.com.br/noticias.rss?resource_id=7&resource_id=7",
51
- :title=>"Ticiane Pinheiro vira boneca e mostra foto no Twitter",
52
- :midia=>{:url=>"http://contigo.abril.com.br/resources/files/image/2013/4/132091110-ticiane-pinheiro-m.jpg?1365085327",
53
- :type=>"image/jpeg"},
54
- :data=>"2013-04-04 11:20:00 -0300",
55
- :descricao=>"<p>\n\t<a href=\"/famosos/ticiane-pinheiro/apresentadora/\">Ticiane Pinheiro</a> ganhou um presente na man...",
56
- :rel=>"materia",
57
- :type=>"text/html"}}
27
+ ##################
28
+ # Accessing the feed
29
+
30
+ response = Hyperfeed::Client.at("http://fakefeed/articles.rss").get
31
+
32
+ puts response.inspect
33
+ => {:per_page=>10, :current_page=>1, :total_pages=>1, :total_results=>5, :result=>[ ]...
34
+
35
+ ##############
36
+ # Reading items:
37
+
38
+ item = response.result.first #enclosure(media) included
39
+
40
+ puts item.inspect
41
+ => {:id=>"83a84dd1481a1d8bdbc427cac2eba403",
42
+ :guid=>"http://fakefeed/article-1.html",
43
+ :title=>"Fake Title", :category=>"fake category", :description=>"Lorem ipsum dolor sit amet",
44
+ :link=>"http://fakefeed/article-1.html", :source=>"Fake feed",
45
+ :enclosure=>[{:url=>"http://fakefeed/image-1.jpg",
46
+ :type=>"image/jpeg", :title=>"Image"}]}
47
+
48
+ puts item.guid
49
+ => "http://fakefeed/article-1.html"
50
+
51
+ puts item.id #This ID is generated by hyperfeed and you can use it to access the exact item
52
+ => "83a84dd1481a1d8bdbc427cac2eba403"
53
+
54
+ item = Hyperfeed::Client.at("http://fakefeed/articles.rss").get("83a84dd1481a1d8bdbc427cac2eba403")
55
+ puts item.title
56
+ => "Fake Title"
57
+
58
+ #############
59
+ # Pagination
60
+
61
+ response = Hyperfeed::Client.at("http://fakefeed/articles.rss", {:per_page => 20, :page => 2}).get
58
62
  ```
59
63
 
60
64
  ## Contributing
@@ -1,3 +1,3 @@
1
1
  module Hyperfeed
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hyperfeed
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2013-05-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: http_monkey
16
- requirement: &70351443146720 !ruby/object:Gem::Requirement
16
+ requirement: &70347345178760 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0.0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70351443146720
24
+ version_requirements: *70347345178760
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: nokogiri
27
- requirement: &70351443146220 !ruby/object:Gem::Requirement
27
+ requirement: &70347345178260 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '1.5'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70351443146220
35
+ version_requirements: *70347345178260
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: methodize
38
- requirement: &70351443145840 !ruby/object:Gem::Requirement
38
+ requirement: &70347345177880 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70351443145840
46
+ version_requirements: *70347345177880
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rspec
49
- requirement: &70351443145380 !ruby/object:Gem::Requirement
49
+ requirement: &70347345177420 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70351443145380
57
+ version_requirements: *70347345177420
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: fakeweb
60
- requirement: &70351443144880 !ruby/object:Gem::Requirement
60
+ requirement: &70347345176920 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70351443144880
68
+ version_requirements: *70347345176920
69
69
  description: An adapter to plug feeds content on hypermedia engines
70
70
  email:
71
71
  - guilherme.kato@abril.com.br