fb_utils 0.0.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.
data/.gitignore ADDED
@@ -0,0 +1,6 @@
1
+ .bundle/
2
+ log/*.log
3
+ pkg/
4
+ *.swp
5
+ *.swo
6
+ *.gem
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ gemspec
4
+
data/Gemfile.lock ADDED
@@ -0,0 +1,28 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ fb_utils (0.0.1)
5
+ activesupport
6
+ i18n
7
+
8
+ GEM
9
+ remote: http://rubygems.org/
10
+ specs:
11
+ activesupport (3.1.1)
12
+ multi_json (~> 1.0)
13
+ fakeweb (1.3.0)
14
+ i18n (0.5.0)
15
+ multi_json (1.0.3)
16
+ rake (0.9.2.2)
17
+ shoulda-context (1.0.0)
18
+ vcr (1.11.3)
19
+
20
+ PLATFORMS
21
+ ruby
22
+
23
+ DEPENDENCIES
24
+ fakeweb
25
+ fb_utils!
26
+ rake
27
+ shoulda-context
28
+ vcr
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright 2011 Lukasz Krystkowiak
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,59 @@
1
+ # FbUtils
2
+
3
+ fb_utils is Ruby gem that lets you get and save facebook comments.
4
+ You can save comment in txt or csv file.
5
+ # Installation
6
+ Type
7
+
8
+ ```ruby
9
+ gem install fb_utils
10
+ ```
11
+
12
+ or
13
+
14
+ add this to your Gemfile and run the bundle command
15
+
16
+ ```ruby
17
+ gem 'fb_utils'
18
+ ```
19
+
20
+ #Usage
21
+ ### Get comments
22
+ If you need to just get comments, call get method with URL
23
+
24
+ ```ruby
25
+ # return Array of comments
26
+ comments = FbUtils::Comment.get('http://www.example.com')
27
+ comment = comments.first
28
+ puts comment.id #=> "388101711259_17396935"
29
+ puts comment.message #=> "Hello world"
30
+ puts comment.created_time #=> "2011-07-26T01:23:34+0000"
31
+ puts comment.from_name #=> "Lukasz Kr"
32
+ puts comment.from_id #=> "123456789101112"
33
+ ```
34
+
35
+ ### Save comments
36
+ In order to save comments in file system, call save method with URL and file name.
37
+ You can choose txt or csv file type (or write your own writer).
38
+ Default is txt.
39
+
40
+
41
+ ```ruby
42
+ # Save comments in example_com.txt file
43
+ FbUtils::Comment.save('http://www.example.com', 'example_com')
44
+
45
+ # Save comments in example_com.csv file
46
+ FbUtils::Comment.save('http://www.example.com', 'example_com', :format => :csv)
47
+
48
+ # For csv file you can pass additional parameters
49
+ FbUtils::Comment.save('http://www.example.com', 'example_com',
50
+ :format => :csv,
51
+ :fields_terminated_by => ";",
52
+ :fields_enclosed_by => "'",
53
+ :lines_terminated_by => "\n"
54
+ )
55
+ ```
56
+
57
+ # References
58
+ http://developers.facebook.com/docs/reference/plugins/comments/
59
+
data/Rakefile ADDED
@@ -0,0 +1,29 @@
1
+ # encoding: UTF-8
2
+ require 'rubygems'
3
+ begin
4
+ require 'bundler/setup'
5
+ rescue LoadError
6
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
7
+ end
8
+
9
+ require 'rake'
10
+ require 'rdoc/task'
11
+
12
+ require 'rake/testtask'
13
+
14
+ Rake::TestTask.new(:test) do |t|
15
+ t.libs << 'lib'
16
+ t.libs << 'test'
17
+ t.pattern = 'test/**/*_test.rb'
18
+ t.verbose = false
19
+ end
20
+
21
+ task :default => :test
22
+
23
+ Rake::RDocTask.new(:rdoc) do |rdoc|
24
+ rdoc.rdoc_dir = 'rdoc'
25
+ rdoc.title = 'fb_utils'
26
+ rdoc.options << '--line-numbers' << '--inline-source'
27
+ rdoc.rdoc_files.include('README.rdoc')
28
+ rdoc.rdoc_files.include('lib/**/*.rb')
29
+ end
data/fb_utils.gemspec ADDED
@@ -0,0 +1,26 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "fb_utils/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "fb_utils"
7
+ s.version = FbUtils::VERSION
8
+ s.authors = ["Lukasz Krystkowiak"]
9
+ s.email = ["lukasz.krystkowiak@gmail.com"]
10
+ s.homepage = "https://github.com/lukkry/fb_utils"
11
+ s.summary = %q{Get Facebook comments and save those in txt, csv file.}
12
+ s.description = %q{Get Facebook comments and save those in txt, csv file.}
13
+
14
+ s.files = `git ls-files`.split("\n")
15
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
16
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
17
+ s.require_paths = ["lib"]
18
+
19
+ s.add_dependency "activesupport"
20
+ s.add_dependency "i18n"
21
+ s.add_development_dependency "rake"
22
+ s.add_development_dependency "vcr"
23
+ s.add_development_dependency "fakeweb"
24
+ s.add_development_dependency "shoulda-context"
25
+ end
26
+
@@ -0,0 +1,59 @@
1
+ module FbUtils
2
+ class Comment
3
+ LINK = "http://graph.facebook.com/comments/?ids="
4
+
5
+ attr_accessor :id, :message, :created_time, :from_name, :from_id
6
+
7
+ def initialize(hash={})
8
+ return if hash.empty?
9
+ @id = hash["id"]
10
+ @from_name = hash["from"]["name"]
11
+ @from_id = hash["from"]["id"]
12
+ @message = hash["message"]
13
+ @created_time = hash["created_time"]
14
+ end
15
+
16
+ def to_s
17
+ to_array.join(' ')
18
+ end
19
+
20
+ def to_array
21
+ [@id, @message, @from_name, @from_id, @created_time]
22
+ end
23
+
24
+ # Get comments and save these in file system
25
+ #
26
+ # The rightmost argument is an optional hash of options,
27
+ # which is pass further to particular writer, specified from :format key
28
+ # Default is: :format => 'txt'
29
+ #
30
+ # For example:
31
+ #
32
+ # FbUtils::Comment.save('http://www.example.com', 'example_com')
33
+ #
34
+ # FbUtils::Comment.save('http://www.example.com', 'example_com',
35
+ # :format => :csv,
36
+ # :fields_terminated_by => ";",
37
+ # :fields_enclosed_by => "'",
38
+ # :lines_terminated_by => "\n"
39
+ def self.save(href, filename, *args)
40
+ options = args.extract_options!
41
+ options[:format] ||= "txt"
42
+
43
+ comments = get(href)
44
+ writer = "FbUtils::Writer::#{options[:format].to_s.camelize}".constantize.new(filename, options)
45
+ writer.write(comments)
46
+ comments
47
+ end
48
+
49
+ # Get comments related to href
50
+ # Return array of comments
51
+ def self.get(href)
52
+ result = JSON.parse(Net::HTTP.get_response(URI(LINK + href)).body)
53
+ data = result[href]["data"]
54
+ data.inject([]) do |comments, c|
55
+ comments << Comment.new(c)
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,5 @@
1
+ class String
2
+ def surround(affix)
3
+ affix + self + affix
4
+ end
5
+ end
@@ -0,0 +1,3 @@
1
+ module FbUtils
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,19 @@
1
+ module FbUtils
2
+ module Writer
3
+ class Base
4
+ attr_accessor :filename, :options
5
+
6
+ def initialize(filename, options={})
7
+ @options = options
8
+ @options[:format] ||= "txt"
9
+ @filename = File.basename(filename, ".#{options[:format]}") + ".#{options[:format]}"
10
+ f = File.new(@filename, "w")
11
+ f.close
12
+ end
13
+
14
+ def write
15
+ raise NotImplementedError
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,22 @@
1
+ module FbUtils
2
+ module Writer
3
+ class Csv < FbUtils::Writer::Base
4
+ def write(arr)
5
+ @options = {
6
+ :fields_terminated_by => ";",
7
+ :fields_enclosed_by => "\"",
8
+ :lines_terminated_by => "\n"
9
+ }.merge(@options)
10
+
11
+ File.open(@filename, "w") do |f|
12
+ arr.each{ |a|
13
+ fields = a.to_array.collect{|x| x.surround(@options[:fields_enclosed_by])}
14
+ fields = fields.join(@options[:fields_terminated_by])
15
+ fields.insert(-1, @options[:lines_terminated_by])
16
+ f.puts fields
17
+ }
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,13 @@
1
+ module FbUtils
2
+ module Writer
3
+ class Txt < Writer::Base
4
+ def write(arr)
5
+ File.open(@filename, "w") do |f|
6
+ arr.each{ |a|
7
+ f.puts a.to_array.join(' ')
8
+ }
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
data/lib/fb_utils.rb ADDED
@@ -0,0 +1,13 @@
1
+ require 'net/http'
2
+ require 'active_support/all'
3
+ require 'fb_utils/string'
4
+
5
+ module FbUtils
6
+ autoload :Comment, 'fb_utils/comment'
7
+
8
+ module Writer
9
+ autoload :Base, 'fb_utils/writers/base'
10
+ autoload :Txt, 'fb_utils/writers/txt'
11
+ autoload :Csv, 'fb_utils/writers/csv'
12
+ end
13
+ end
@@ -0,0 +1,36 @@
1
+ require 'test_helper'
2
+
3
+ class CommentTest < Test::Unit::TestCase
4
+ context "Comment" do
5
+ should "get comments from Facebook" do
6
+ VCR.use_cassette('poland_com') do
7
+ comments = FbUtils::Comment.get("http://poland.com")
8
+ assert_kind_of Array, comments
9
+ assert_equal "hey there!", comments[0].message
10
+ assert_equal "10150114889322623_19119228", comments[0].id
11
+ assert_equal "1039207562", comments[0].from_id
12
+ assert_equal "Lukasz Kr", comments[0].from_name
13
+ end
14
+ end
15
+
16
+ should "get comments from Facebook and save them in txt, csv file" do
17
+ VCR.use_cassette('poland_com') do
18
+ comments = FbUtils::Comment.save("http://poland.com", "poland_com")
19
+ c = comments.first
20
+ assert_kind_of Array, comments
21
+
22
+ assert File.exists?("poland_com.txt")
23
+ File.open("poland_com.txt") do |f|
24
+ assert_equal "#{c.to_array.join(' ')}\n", f.readline
25
+ end
26
+ File.delete("poland_com.txt")
27
+
28
+ comments = FbUtils::Comment.save("http://poland.com", "poland_com", :format => :csv)
29
+ File.open("poland_com.csv") do |f|
30
+ assert_equal "\"#{c.id}\";\"#{c.message}\";\"#{c.from_name}\";\"#{c.from_id}\";\"#{c.created_time}\"\n", f.readline
31
+ end
32
+ File.delete("poland_com.csv")
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,61 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :get
5
+ uri: http://graph.facebook.com:80/comments/?ids=http://poland.com
6
+ body: !!null
7
+ headers: !!null
8
+ response: !ruby/struct:VCR::Response
9
+ status: !ruby/struct:VCR::ResponseStatus
10
+ code: 200
11
+ message: OK
12
+ headers:
13
+ access-control-allow-origin:
14
+ - ! '*'
15
+ cache-control:
16
+ - private, no-cache, no-store, must-revalidate
17
+ content-type:
18
+ - text/javascript; charset=UTF-8
19
+ etag:
20
+ - ! '"410e0d777d51e246753ba20ce54db4633417e64d"'
21
+ expires:
22
+ - Sat, 01 Jan 2000 00:00:00 GMT
23
+ pragma:
24
+ - no-cache
25
+ x-fb-rev:
26
+ - '473143'
27
+ x-fb-server:
28
+ - 10.32.42.122
29
+ x-cnection:
30
+ - close
31
+ date:
32
+ - Wed, 16 Nov 2011 16:03:29 GMT
33
+ content-length:
34
+ - '3781'
35
+ body: ! '{"http:\/\/poland.com":{"data":[{"id":"10150114889322623_19119228","from":{"name":"Lukasz
36
+ Kr","id":"1039207562"},"message":"hey there!","created_time":"2011-10-28T07:46:16+0000"},{"id":"10150114889322623_19119241","from":{"name":"Lukasz
37
+ Kr","id":"1039207562"},"message":"hey there again!","created_time":"2011-10-28T07:47:37+0000"},{"id":"10150114889322623_19119248","from":{"name":"Lukasz
38
+ Kr","id":"1039207562"},"message":"Programming motherfucker manifesto!","created_time":"2011-10-28T07:48:04+0000"},{"id":"10150114889322623_19119317","from":{"name":"Lukasz
39
+ Kr","id":"1039207562"},"message":"lkkl","created_time":"2011-10-28T07:58:14+0000"},{"id":"10150114889322623_19119354","from":{"name":"Lucy
40
+ Moore","id":"100002075427828"},"message":"blah","created_time":"2011-10-28T08:02:36+0000"},{"id":"10150114889322623_19119433","from":{"name":"Lucy
41
+ Moore","id":"100002075427828"},"message":"hello world","created_time":"2011-10-28T08:12:36+0000"},{"id":"10150114889322623_19119488","from":{"name":"Lucy
42
+ Moore","id":"100002075427828"},"message":"ruby on rails, love it.","created_time":"2011-10-28T08:20:32+0000"},{"id":"10150114889322623_19119508","from":{"name":"Lucy
43
+ Moore","id":"100002075427828"},"message":"love it","created_time":"2011-10-28T08:23:09+0000"},{"id":"10150114889322623_19199110","from":{"name":"Lukasz
44
+ Kr","id":"1039207562"},"message":"kol","created_time":"2011-11-02T14:56:10+0000"},{"id":"10150114889322623_19199142","from":{"name":"Lukasz
45
+ Kr","id":"1039207562"},"message":"kjh","created_time":"2011-11-02T14:59:54+0000"},{"id":"10150114889322623_19199428","from":{"name":"Lukasz
46
+ Kr","id":"1039207562"},"message":"huiuhiuh","created_time":"2011-11-02T15:27:36+0000"},{"id":"10150114889322623_19212705","from":{"name":"Lukasz
47
+ Kr","id":"1039207562"},"message":"dskaj","created_time":"2011-11-03T08:43:49+0000"},{"id":"10150114889322623_19212964","from":{"name":"Lukasz
48
+ Kr","id":"1039207562"},"message":"lok","created_time":"2011-11-03T09:21:40+0000"},{"id":"10150114889322623_19216328","from":{"name":"Lukasz
49
+ Kr","id":"1039207562"},"message":"hello world","created_time":"2011-11-03T15:02:01+0000"},{"id":"10150114889322623_19277426","from":{"name":"Lukasz
50
+ Kr","id":"1039207562"},"message":"kol","created_time":"2011-11-07T14:40:22+0000"},{"id":"10150114889322623_19277557","from":{"name":"Lukasz
51
+ Kr","id":"1039207562"},"message":"oo","created_time":"2011-11-07T14:49:03+0000"},{"id":"10150114889322623_19279743","from":{"name":"Lukasz
52
+ Kr","id":"1039207562"},"message":"jui","created_time":"2011-11-07T17:28:24+0000"},{"id":"10150114889322623_19279800","from":{"name":"Lukasz
53
+ Kr","id":"1039207562"},"message":"kiop","created_time":"2011-11-07T17:30:52+0000"},{"id":"10150114889322623_19279808","from":{"name":"Lukasz
54
+ Kr","id":"1039207562"},"message":"tyu","created_time":"2011-11-07T17:31:26+0000"},{"id":"10150114889322623_19279822","from":{"name":"Lukasz
55
+ Kr","id":"1039207562"},"message":"ert","created_time":"2011-11-07T17:32:00+0000"},{"id":"10150114889322623_19279833","from":{"name":"Lukasz
56
+ Kr","id":"1039207562"},"message":"bnm","created_time":"2011-11-07T17:32:35+0000"},{"id":"10150114889322623_19279850","from":{"name":"Lukasz
57
+ Kr","id":"1039207562"},"message":"nm","created_time":"2011-11-07T17:33:35+0000"},{"id":"10150114889322623_19279858","from":{"name":"Lukasz
58
+ Kr","id":"1039207562"},"message":"zxc","created_time":"2011-11-07T17:34:08+0000"},{"id":"10150114889322623_19294062","from":{"name":"Lukasz
59
+ Kr","id":"1039207562"},"message":"polska","created_time":"2011-11-08T13:45:05+0000"},{"id":"10150114889322623_19294081","from":{"name":"Lukasz
60
+ Kr","id":"1039207562"},"message":"hoi","created_time":"2011-11-08T13:47:10+0000"}],"paging":{"next":"http:\/\/graph.facebook.com\/comments?ids=http\u00253A\u00252F\u00252Fpoland.com&limit=25&offset=25"}}}'
61
+ http_version: '1.1'
@@ -0,0 +1,6 @@
1
+ require 'vcr'
2
+
3
+ VCR.config do |c|
4
+ c.cassette_library_dir = 'test/fixtures/vcr_cassettes'
5
+ c.stub_with :fakeweb
6
+ end
@@ -0,0 +1,6 @@
1
+ require File.join(File.dirname(__FILE__), "..", "lib", "fb_utils")
2
+ require 'test/unit'
3
+ require "shoulda/context"
4
+
5
+ # Load support files
6
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
@@ -0,0 +1,12 @@
1
+ require 'test_helper'
2
+
3
+ class BaseTest < Test::Unit::TestCase
4
+ should "create blank file during initialization, default format: txt" do
5
+ writer = FbUtils::Writer::Base.new("test")
6
+ assert File.exists?("test.txt")
7
+ assert_raise NotImplementedError do
8
+ writer.write
9
+ end
10
+ File.delete("test.txt")
11
+ end
12
+ end
@@ -0,0 +1,16 @@
1
+ require 'test_helper'
2
+
3
+ class CsvTest < Test::Unit::TestCase
4
+ should "write to csv file" do
5
+ VCR.use_cassette('poland_com') do
6
+ comments = FbUtils::Comment.get("http://poland.com")
7
+ writer = FbUtils::Writer::Csv.new("test", :format => "csv", :fields_terminated_by => ";", :fields_enclosed_by => "'", :lines_terminated_by => "\n")
8
+ writer.write(comments)
9
+ c = comments.first
10
+ File.open("test.csv") do |f|
11
+ assert_equal "'#{c.id}';'#{c.message}';'#{c.from_name}';'#{c.from_id}';'#{c.created_time}'\n", f.readline
12
+ end
13
+ File.delete("test.csv")
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,15 @@
1
+ require 'test_helper'
2
+
3
+ class TxtTest < Test::Unit::TestCase
4
+ should "write to txt file" do
5
+ VCR.use_cassette('poland_com') do
6
+ comments = FbUtils::Comment.get("http://poland.com")
7
+ writer = FbUtils::Writer::Txt.new("test", :format => "txt")
8
+ writer.write(comments)
9
+ File.open("test.txt") do |f|
10
+ assert_equal "#{comments.first.to_array.join(' ')}\n", f.readline
11
+ end
12
+ File.delete("test.txt")
13
+ end
14
+ end
15
+ end
metadata ADDED
@@ -0,0 +1,132 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: fb_utils
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Lukasz Krystkowiak
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2011-11-23 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: activesupport
16
+ requirement: &82125440 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *82125440
25
+ - !ruby/object:Gem::Dependency
26
+ name: i18n
27
+ requirement: &82125230 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *82125230
36
+ - !ruby/object:Gem::Dependency
37
+ name: rake
38
+ requirement: &82125020 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *82125020
47
+ - !ruby/object:Gem::Dependency
48
+ name: vcr
49
+ requirement: &82124810 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *82124810
58
+ - !ruby/object:Gem::Dependency
59
+ name: fakeweb
60
+ requirement: &82124600 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *82124600
69
+ - !ruby/object:Gem::Dependency
70
+ name: shoulda-context
71
+ requirement: &82124390 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *82124390
80
+ description: Get Facebook comments and save those in txt, csv file.
81
+ email:
82
+ - lukasz.krystkowiak@gmail.com
83
+ executables: []
84
+ extensions: []
85
+ extra_rdoc_files: []
86
+ files:
87
+ - .gitignore
88
+ - Gemfile
89
+ - Gemfile.lock
90
+ - LICENSE
91
+ - README.md
92
+ - Rakefile
93
+ - fb_utils.gemspec
94
+ - lib/fb_utils.rb
95
+ - lib/fb_utils/comment.rb
96
+ - lib/fb_utils/string.rb
97
+ - lib/fb_utils/version.rb
98
+ - lib/fb_utils/writers/base.rb
99
+ - lib/fb_utils/writers/csv.rb
100
+ - lib/fb_utils/writers/txt.rb
101
+ - test/comment_test.rb
102
+ - test/fixtures/vcr_cassettes/poland_com.yml
103
+ - test/support/vcr.rb
104
+ - test/test_helper.rb
105
+ - test/writers/base_test.rb
106
+ - test/writers/csv_test.rb
107
+ - test/writers/txt_test.rb
108
+ homepage: https://github.com/lukkry/fb_utils
109
+ licenses: []
110
+ post_install_message:
111
+ rdoc_options: []
112
+ require_paths:
113
+ - lib
114
+ required_ruby_version: !ruby/object:Gem::Requirement
115
+ none: false
116
+ requirements:
117
+ - - ! '>='
118
+ - !ruby/object:Gem::Version
119
+ version: '0'
120
+ required_rubygems_version: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ requirements: []
127
+ rubyforge_project:
128
+ rubygems_version: 1.8.6
129
+ signing_key:
130
+ specification_version: 3
131
+ summary: Get Facebook comments and save those in txt, csv file.
132
+ test_files: []