fql 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,10 +2,27 @@
2
2
 
3
3
  Easily execute FQL queries with this gem.
4
4
 
5
+ ## Download and installation
6
+
7
+ The latest version of fql can be installed with RubyGems:
8
+
9
+ ```bash
10
+ $ gem install fql
11
+ ```
12
+
13
+ If you're using Bundler, you can add it to your `Gemfile`:
14
+
15
+ ```ruby
16
+ gem 'fql'
17
+ ```
18
+
19
+ ## Examples
20
+
5
21
  *Exampe: a single query without access_token*
6
22
 
7
23
  ```ruby
8
24
  Fql.execute('SELECT first_name, last_name FROM user WHERE uid = 4')
25
+ # => [{"first_name"=>"Mark", "last_name"=>"Zuckerberg"}]
9
26
  ```
10
27
 
11
28
  *Exampe: a multi query with an access_token*
@@ -13,9 +30,10 @@ Easily execute FQL queries with this gem.
13
30
  ```ruby
14
31
  options = { :access_token => "fb_access_token" }
15
32
  Fql.execute({
16
- "query1" => "SELECT uid, rsvp_status FROM event_member WHERE eid = 12345678",
17
- "query2" => "SELECT name FROM profile WHERE id IN (SELECT uid FROM #query1)"
33
+ "query1" => "SELECT uid, rsvp_status FROM event_member WHERE eid = 209798352393506 LIMIT 3",
34
+ "query2" => "SELECT name FROM user WHERE uid IN (SELECT uid FROM #query1)"
18
35
  }, options)
36
+ # => [{"name"=>"query1", "fql_result_set"=>[{"uid"=>712638919, "rsvp_status"=>"attending"}, {"uid"=>711903876, "rsvp_status"=>"attending"}, {"uid"=>711447283, "rsvp_status"=>"attending"}]}, {"name"=>"query2", "fql_result_set"=>[{"name"=>"Srikanth Nagandla"}, {"name"=>"Hinling Yeung"}, {"name"=>"G\u00F6khan Olgun"}]}]
19
37
  ```
20
38
 
21
39
  ---
@@ -14,11 +14,26 @@ module Fql
14
14
  # Returns the query as a String which has been properly formatted and can be
15
15
  # sent to Facebook.
16
16
  def compose
17
- final_query = '{'
17
+ if @queries.length > 1
18
+ compose_multi_query
19
+ else
20
+ compose_single_query
21
+ end
22
+ end
23
+
24
+ protected
25
+
26
+ def compose_multi_query
27
+ q = ''
18
28
  @queries.each do |key, query|
19
- final_query += "'" + key.to_s + "':'" + query + "',"
29
+ q += "'#{key}':'#{query}',"
20
30
  end
21
- final_query[0...-1] + '}' # Remove last ',' and add closing '}'
31
+ # Remove last ',' and add enclosing braces
32
+ '{' + q[0...-1] + '}'
33
+ end
34
+
35
+ def compose_single_query
36
+ @queries[:q]
22
37
  end
23
38
 
24
39
  end
@@ -1,3 +1,3 @@
1
1
  module Fql
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
File without changes
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fql
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,24 +9,24 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-15 00:00:00.000000000 Z
12
+ date: 2012-09-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: multi_json
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - ! '>='
19
+ - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: '0'
21
+ version: 1.3.6
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  none: false
26
26
  requirements:
27
- - - ! '>='
27
+ - - ~>
28
28
  - !ruby/object:Gem::Version
29
- version: '0'
29
+ version: 1.3.6
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: rails
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -50,7 +50,7 @@ dependencies:
50
50
  requirements:
51
51
  - - ! '>='
52
52
  - !ruby/object:Gem::Version
53
- version: '0'
53
+ version: 1.3.6
54
54
  type: :development
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
@@ -58,23 +58,23 @@ dependencies:
58
58
  requirements:
59
59
  - - ! '>='
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: 1.3.6
62
62
  - !ruby/object:Gem::Dependency
63
63
  name: fakeweb
64
64
  requirement: !ruby/object:Gem::Requirement
65
65
  none: false
66
66
  requirements:
67
- - - ! '>='
67
+ - - ~>
68
68
  - !ruby/object:Gem::Version
69
- version: '0'
69
+ version: 1.3.0
70
70
  type: :development
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
- - - ! '>='
75
+ - - ~>
76
76
  - !ruby/object:Gem::Version
77
- version: '0'
77
+ version: 1.3.0
78
78
  - !ruby/object:Gem::Dependency
79
79
  name: rb-fsevent
80
80
  requirement: !ruby/object:Gem::Requirement
@@ -107,7 +107,9 @@ dependencies:
107
107
  - - ! '>='
108
108
  - !ruby/object:Gem::Version
109
109
  version: '0'
110
- description: Allows you to easily use FQL in Ruby.
110
+ description: ! " A simple gem to easily use the Facebook Query Language. Just specify
111
+ single\n queries as strings or use hashes to compose multiqueries and send them
112
+ to\n Facebook using `Fql.execute(query)`.\n"
111
113
  email:
112
114
  - maartencls@gmail.com
113
115
  executables: []
@@ -143,6 +145,7 @@ files:
143
145
  - test/dummy/config/locales/en.yml
144
146
  - test/dummy/config/routes.rb
145
147
  - test/dummy/config.ru
148
+ - test/dummy/log/test.log
146
149
  - test/dummy/public/404.html
147
150
  - test/dummy/public/422.html
148
151
  - test/dummy/public/500.html
@@ -164,7 +167,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
164
167
  requirements:
165
168
  - - ! '>='
166
169
  - !ruby/object:Gem::Version
167
- version: '0'
170
+ version: 1.9.0
168
171
  required_rubygems_version: !ruby/object:Gem::Requirement
169
172
  none: false
170
173
  requirements:
@@ -199,6 +202,7 @@ test_files:
199
202
  - test/dummy/config/locales/en.yml
200
203
  - test/dummy/config/routes.rb
201
204
  - test/dummy/config.ru
205
+ - test/dummy/log/test.log
202
206
  - test/dummy/public/404.html
203
207
  - test/dummy/public/422.html
204
208
  - test/dummy/public/500.html