punchfork 0.0.3 → 0.0.4
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/README.rdoc +8 -3
- data/lib/punchfork.rb +2 -0
- data/lib/punchfork/base.rb +16 -7
- data/lib/punchfork/configuration.rb +2 -1
- data/lib/punchfork/recipe.rb +19 -0
- data/lib/punchfork/search.rb +28 -0
- data/lib/punchfork/version.rb +1 -1
- data/test/dummy/db/development.sqlite3 +0 -0
- data/test/dummy/db/schema.rb +16 -0
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/development.log +13 -0
- data/test/dummy/log/test.log +127 -22
- data/test/punchfork_test.rb +20 -0
- metadata +20 -7
data/README.rdoc
CHANGED
@@ -11,6 +11,7 @@ configure your API key in config/initializers/punchfork.rb
|
|
11
11
|
|
12
12
|
Punchfork.setup do |config|
|
13
13
|
config.api_key = 'your-api-key'
|
14
|
+
config.protocol = 'https' # defaults to http
|
14
15
|
end
|
15
16
|
|
16
17
|
= Usage
|
@@ -18,16 +19,20 @@ configure your API key in config/initializers/punchfork.rb
|
|
18
19
|
Search for recipes using ingredients:
|
19
20
|
|
20
21
|
search = Punchfork.search(:garlic, :tomatoes)
|
21
|
-
search
|
22
|
-
search
|
22
|
+
search.count # => 10
|
23
|
+
search.recipes.length # => 10
|
23
24
|
|
24
25
|
Any options you pass to the search method will automatically be appended to the querystring sent to punchfork.com.
|
25
26
|
For example:
|
26
27
|
search = Punchfork.search(:tomato, count:50)
|
27
|
-
search
|
28
|
+
search.count # => 50
|
28
29
|
|
29
30
|
Check out the full set of options at http://punchfork.com/api#apidocs
|
30
31
|
|
32
|
+
= Contact
|
33
|
+
|
34
|
+
If you have any issues or questions, please open a ticket through github: https://github.com/gabeodess/Punchfork/issues
|
35
|
+
|
31
36
|
= License
|
32
37
|
|
33
38
|
This project rocks and uses MIT-LICENSE.
|
data/lib/punchfork.rb
CHANGED
data/lib/punchfork/base.rb
CHANGED
@@ -1,13 +1,22 @@
|
|
1
1
|
module Punchfork
|
2
2
|
module Base
|
3
|
-
|
3
|
+
|
4
|
+
# Returns a Punchfork::Search object. Accepts any number of arguments that will be used as ingredients in your search as well as an options hash.
|
5
|
+
# Example: Punchfork.search(:tomatoes, :garlic, {count:5, protocol:'https'})
|
4
6
|
def search(*args)
|
5
|
-
|
6
|
-
search_uri.query = ["key=#{api_key}", "q=#{URI.escape(args.join(','))}", *options.map{ |k,v| "#{k}=#{v}" }].join('&')
|
7
|
-
p ["punchfork search", search_uri.to_s] if Rails.env.test?
|
8
|
-
JSON.load(Net::HTTP.get_response(search_uri).body)
|
7
|
+
Punchfork::Search.new(JSON.load(Net::HTTP.get_response(search_url(*args)).body))
|
9
8
|
end
|
9
|
+
|
10
|
+
# used by #search to query punchfork.com. Returns a URI object.
|
11
|
+
def search_url(*args)
|
12
|
+
options = args.extract_options!.stringify_keys!
|
13
|
+
protocol = (options['protocol'] || self.protocol).to_s
|
10
14
|
|
11
|
-
|
12
|
-
|
15
|
+
uri = search_uri
|
16
|
+
uri.scheme = protocol
|
17
|
+
uri.query = ["key=#{api_key}", "q=#{URI.escape(args.join(','))}", *options.map{ |k,v| "#{k}=#{v}" }].join('&')
|
18
|
+
return uri
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
13
22
|
end
|
@@ -1,8 +1,9 @@
|
|
1
1
|
module Punchfork
|
2
2
|
module Configuration
|
3
3
|
|
4
|
-
mattr_accessor :api_key
|
4
|
+
mattr_accessor :api_key, :protocol
|
5
5
|
@@api_key = ENV['PUNCHFORK_API_KEY'] || ENV['KEY']
|
6
|
+
@@protocol ||= ENV['PUNCHFORK_PROTOCOL'] || 'http'
|
6
7
|
|
7
8
|
mattr_reader :search_uri
|
8
9
|
@@search_uri = URI.parse('http://api.punchfork.com/recipes')
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Punchfork
|
2
|
+
|
3
|
+
# Wrapper for recipe search results. Provides dot syntax support.
|
4
|
+
class Recipe
|
5
|
+
|
6
|
+
def initialize(*args)
|
7
|
+
@hash = args[0]
|
8
|
+
@attributes = {}
|
9
|
+
@hash.each do |k, v|
|
10
|
+
instance_variable_set("@#{k}", v)
|
11
|
+
self.class.class_eval{attr_reader k}
|
12
|
+
@attributes[k] = v
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
attr_reader :attributes
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module Punchfork
|
2
|
+
|
3
|
+
# Wrapper for search results providing dot syntax
|
4
|
+
class Search
|
5
|
+
|
6
|
+
def initialize(*args)
|
7
|
+
@hash = args[0]
|
8
|
+
@attributes = {}
|
9
|
+
|
10
|
+
@hash.each do |k, v|
|
11
|
+
instance_variable_set("@#{k}", v)
|
12
|
+
self.class.class_eval{attr_reader k}
|
13
|
+
@attributes[k] = v
|
14
|
+
end
|
15
|
+
|
16
|
+
@recipes = @recipes.map{ |recipe_hash| Recipe.new(recipe_hash) }
|
17
|
+
end
|
18
|
+
|
19
|
+
attr_reader :attributes
|
20
|
+
|
21
|
+
def [](key)
|
22
|
+
@hash[key]
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
|
27
|
+
|
28
|
+
end
|
data/lib/punchfork/version.rb
CHANGED
Binary file
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
# This file is auto-generated from the current state of the database. Instead
|
3
|
+
# of editing this file, please use the migrations feature of Active Record to
|
4
|
+
# incrementally modify your database, and then regenerate this schema definition.
|
5
|
+
#
|
6
|
+
# Note that this schema.rb definition is the authoritative source for your
|
7
|
+
# database schema. If you need to create the application database on another
|
8
|
+
# system, you should be using db:schema:load, not running all the migrations
|
9
|
+
# from scratch. The latter is a flawed and unsustainable approach (the more migrations
|
10
|
+
# you'll amass, the slower it'll run and the greater likelihood for issues).
|
11
|
+
#
|
12
|
+
# It's strongly recommended to check this file into your version control system.
|
13
|
+
|
14
|
+
ActiveRecord::Schema.define(:version => 0) do
|
15
|
+
|
16
|
+
end
|
data/test/dummy/db/test.sqlite3
CHANGED
Binary file
|
@@ -0,0 +1,13 @@
|
|
1
|
+
[1m[36m (2.0ms)[0m [1mselect sqlite_version(*)[0m
|
2
|
+
[1m[35m (1.3ms)[0m CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
|
3
|
+
[1m[36m (0.0ms)[0m [1mPRAGMA index_list("schema_migrations")[0m
|
4
|
+
[1m[35m (1.1ms)[0m CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
|
5
|
+
[1m[36m (0.3ms)[0m [1mselect sqlite_version(*)[0m
|
6
|
+
[1m[35m (0.2ms)[0m SELECT "schema_migrations"."version" FROM "schema_migrations"
|
7
|
+
[1m[36m (0.1ms)[0m [1mSELECT "schema_migrations"."version" FROM "schema_migrations" [0m
|
8
|
+
[1m[35m (0.1ms)[0m select sqlite_version(*)
|
9
|
+
[1m[36m (2.5ms)[0m [1mCREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) [0m
|
10
|
+
[1m[35m (0.0ms)[0m PRAGMA index_list("schema_migrations")
|
11
|
+
[1m[36m (1.3ms)[0m [1mCREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")[0m
|
12
|
+
[1m[35m (0.2ms)[0m SELECT version FROM "schema_migrations"
|
13
|
+
[1m[36m (1.7ms)[0m [1mINSERT INTO "schema_migrations" (version) VALUES ('0')[0m
|
data/test/dummy/log/test.log
CHANGED
@@ -1,104 +1,183 @@
|
|
1
1
|
[1m[36m (0.3ms)[0m [1mbegin transaction[0m
|
2
2
|
[1m[35m (0.1ms)[0m rollback transaction
|
3
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
4
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
5
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
6
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
3
7
|
[1m[36m (0.3ms)[0m [1mbegin transaction[0m
|
4
8
|
[1m[35m (0.1ms)[0m rollback transaction
|
9
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
10
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
11
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
12
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
13
|
+
[1m[36m (0.5ms)[0m [1mbegin transaction[0m
|
14
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
15
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
16
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
5
17
|
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
6
18
|
[1m[35m (0.0ms)[0m rollback transaction
|
7
19
|
[1m[36m (0.3ms)[0m [1mbegin transaction[0m
|
8
20
|
[1m[35m (0.1ms)[0m rollback transaction
|
9
21
|
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
22
|
+
[1m[35m (0.2ms)[0m rollback transaction
|
23
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
10
24
|
[1m[35m (0.1ms)[0m rollback transaction
|
11
25
|
[1m[36m (0.3ms)[0m [1mbegin transaction[0m
|
12
26
|
[1m[35m (0.1ms)[0m rollback transaction
|
13
27
|
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
28
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
29
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
14
30
|
[1m[35m (0.0ms)[0m rollback transaction
|
15
31
|
[1m[36m (0.3ms)[0m [1mbegin transaction[0m
|
32
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
33
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
34
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
35
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
36
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
37
|
+
[1m[36m (0.3ms)[0m [1mbegin transaction[0m
|
38
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
39
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
40
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
41
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
16
42
|
[1m[35m (0.0ms)[0m rollback transaction
|
43
|
+
[1m[36m (0.4ms)[0m [1mbegin transaction[0m
|
44
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
45
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
46
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
17
47
|
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
18
48
|
[1m[35m (0.0ms)[0m rollback transaction
|
19
49
|
[1m[36m (0.3ms)[0m [1mbegin transaction[0m
|
20
50
|
[1m[35m (0.0ms)[0m rollback transaction
|
21
51
|
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
22
52
|
[1m[35m (0.0ms)[0m rollback transaction
|
53
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
54
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
23
55
|
[1m[36m (0.3ms)[0m [1mbegin transaction[0m
|
24
56
|
[1m[35m (0.1ms)[0m rollback transaction
|
57
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
58
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
25
59
|
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
26
60
|
[1m[35m (0.1ms)[0m rollback transaction
|
27
61
|
[1m[36m (0.3ms)[0m [1mbegin transaction[0m
|
28
|
-
[1m[35m (0.
|
62
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
29
63
|
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
30
|
-
[1m[35m (0.0ms)[0m rollback transaction
|
31
|
-
[1m[36m (0.4ms)[0m [1mbegin transaction[0m
|
32
64
|
[1m[35m (0.1ms)[0m rollback transaction
|
33
65
|
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
34
|
-
[1m[35m (0.0ms)[0m rollback transaction
|
35
|
-
[1m[36m (0.3ms)[0m [1mbegin transaction[0m
|
36
66
|
[1m[35m (0.1ms)[0m rollback transaction
|
37
67
|
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
38
68
|
[1m[35m (0.0ms)[0m rollback transaction
|
39
69
|
[1m[36m (0.3ms)[0m [1mbegin transaction[0m
|
40
|
-
[1m[35m (0.
|
70
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
71
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
72
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
73
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
74
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
41
75
|
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
42
|
-
[1m[35m (0.0ms)[0m rollback transaction
|
43
|
-
[1m[36m (0.3ms)[0m [1mbegin transaction[0m
|
44
76
|
[1m[35m (0.1ms)[0m rollback transaction
|
45
77
|
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
46
78
|
[1m[35m (0.0ms)[0m rollback transaction
|
47
79
|
[1m[36m (0.3ms)[0m [1mbegin transaction[0m
|
48
80
|
[1m[35m (0.1ms)[0m rollback transaction
|
81
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
82
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
49
83
|
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
50
|
-
[1m[35m (0.
|
84
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
85
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
86
|
+
|
87
|
+
***** Debugger requested, but was not available (ensure ruby-debug is listed in Gemfile/installed as gem): Start server with --debugger to enable *****
|
88
|
+
|
89
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
90
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
91
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
51
92
|
[1m[36m (0.3ms)[0m [1mbegin transaction[0m
|
52
93
|
[1m[35m (0.1ms)[0m rollback transaction
|
94
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
95
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
53
96
|
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
97
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
98
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
99
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
100
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
54
101
|
[1m[35m (0.0ms)[0m rollback transaction
|
55
102
|
[1m[36m (0.3ms)[0m [1mbegin transaction[0m
|
56
103
|
[1m[35m (0.1ms)[0m rollback transaction
|
57
104
|
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
58
105
|
[1m[35m (0.1ms)[0m rollback transaction
|
59
|
-
[1m[36m (0.
|
106
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
60
107
|
[1m[35m (0.1ms)[0m rollback transaction
|
61
108
|
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
62
109
|
[1m[35m (0.0ms)[0m rollback transaction
|
110
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
111
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
63
112
|
[1m[36m (0.3ms)[0m [1mbegin transaction[0m
|
64
113
|
[1m[35m (0.1ms)[0m rollback transaction
|
65
114
|
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
66
|
-
[1m[35m (0.0ms)[0m rollback transaction
|
67
|
-
[1m[36m (0.3ms)[0m [1mbegin transaction[0m
|
68
115
|
[1m[35m (0.1ms)[0m rollback transaction
|
69
116
|
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
70
117
|
[1m[35m (0.1ms)[0m rollback transaction
|
118
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
119
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
120
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
121
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
71
122
|
[1m[36m (0.3ms)[0m [1mbegin transaction[0m
|
72
123
|
[1m[35m (0.1ms)[0m rollback transaction
|
73
|
-
[1m[36m (0.
|
124
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
125
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
126
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
74
127
|
[1m[35m (0.1ms)[0m rollback transaction
|
128
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
129
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
130
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
131
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
75
132
|
[1m[36m (0.3ms)[0m [1mbegin transaction[0m
|
76
133
|
[1m[35m (0.1ms)[0m rollback transaction
|
77
134
|
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
78
135
|
[1m[35m (0.1ms)[0m rollback transaction
|
79
|
-
[1m[36m (0.3ms)[0m [1mbegin transaction[0m
|
80
|
-
[1m[35m (0.1ms)[0m rollback transaction
|
81
136
|
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
82
137
|
[1m[35m (0.1ms)[0m rollback transaction
|
138
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
139
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
140
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
141
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
142
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
143
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
83
144
|
[1m[36m (0.3ms)[0m [1mbegin transaction[0m
|
84
145
|
[1m[35m (0.1ms)[0m rollback transaction
|
85
146
|
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
86
147
|
[1m[35m (0.1ms)[0m rollback transaction
|
87
|
-
[1m[36m (0.3ms)[0m [1mbegin transaction[0m
|
88
|
-
[1m[35m (0.1ms)[0m rollback transaction
|
89
148
|
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
90
149
|
[1m[35m (0.1ms)[0m rollback transaction
|
150
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
151
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
152
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
153
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
154
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
155
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
91
156
|
[1m[36m (0.3ms)[0m [1mbegin transaction[0m
|
92
157
|
[1m[35m (0.1ms)[0m rollback transaction
|
93
158
|
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
159
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
160
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
161
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
162
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
163
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
164
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
165
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
166
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
167
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
168
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
94
169
|
[1m[35m (0.0ms)[0m rollback transaction
|
95
170
|
[1m[36m (0.3ms)[0m [1mbegin transaction[0m
|
96
171
|
[1m[35m (0.1ms)[0m rollback transaction
|
97
172
|
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
98
173
|
[1m[35m (0.1ms)[0m rollback transaction
|
99
|
-
[1m[36m (0.3ms)[0m [1mbegin transaction[0m
|
100
|
-
[1m[35m (0.1ms)[0m rollback transaction
|
101
174
|
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
175
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
176
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
177
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
178
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
179
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
180
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
102
181
|
[1m[35m (0.0ms)[0m rollback transaction
|
103
182
|
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
104
183
|
[1m[35m (0.0ms)[0m rollback transaction
|
@@ -106,6 +185,14 @@
|
|
106
185
|
[1m[35m (0.1ms)[0m rollback transaction
|
107
186
|
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
108
187
|
[1m[35m (0.1ms)[0m rollback transaction
|
188
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
189
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
190
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
191
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
192
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
193
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
194
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
195
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
109
196
|
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
110
197
|
[1m[35m (0.0ms)[0m rollback transaction
|
111
198
|
[1m[36m (0.3ms)[0m [1mbegin transaction[0m
|
@@ -113,22 +200,40 @@
|
|
113
200
|
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
114
201
|
[1m[35m (0.1ms)[0m rollback transaction
|
115
202
|
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
203
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
204
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
116
205
|
[1m[35m (0.1ms)[0m rollback transaction
|
117
|
-
[1m[36m (0.
|
118
|
-
[1m[35m (0.
|
206
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
207
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
119
208
|
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
120
209
|
[1m[35m (0.0ms)[0m rollback transaction
|
121
210
|
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
122
211
|
[1m[35m (0.0ms)[0m rollback transaction
|
123
212
|
[1m[36m (0.3ms)[0m [1mbegin transaction[0m
|
213
|
+
[1m[35m (0.2ms)[0m rollback transaction
|
214
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
124
215
|
[1m[35m (0.1ms)[0m rollback transaction
|
125
216
|
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
126
217
|
[1m[35m (0.1ms)[0m rollback transaction
|
127
218
|
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
128
219
|
[1m[35m (0.1ms)[0m rollback transaction
|
129
|
-
[1m[36m (0.
|
220
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
130
221
|
[1m[35m (0.1ms)[0m rollback transaction
|
131
222
|
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
223
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
224
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
225
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
226
|
+
[1m[36m (0.3ms)[0m [1mbegin transaction[0m
|
227
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
228
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
132
229
|
[1m[35m (0.1ms)[0m rollback transaction
|
133
230
|
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
134
231
|
[1m[35m (0.1ms)[0m rollback transaction
|
232
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
233
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
234
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
235
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
236
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
237
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
238
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
239
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
data/test/punchfork_test.rb
CHANGED
@@ -5,6 +5,21 @@ class PunchforkTest < ActiveSupport::TestCase
|
|
5
5
|
def setup
|
6
6
|
end
|
7
7
|
|
8
|
+
test "should use http by default" do
|
9
|
+
Punchfork.setup { |config| config.protocol = 'http' }
|
10
|
+
assert_equal 'http', URI.parse(Punchfork.search_url(:tomatoes).to_s).scheme
|
11
|
+
end
|
12
|
+
|
13
|
+
test "should use https" do
|
14
|
+
Punchfork.setup { |config| config.protocol = 'http' }
|
15
|
+
assert_equal 'https', URI.parse(Punchfork.search_url(:tomatoes, protocol: :https).to_s).scheme
|
16
|
+
end
|
17
|
+
|
18
|
+
test "should configure default to https" do
|
19
|
+
Punchfork.setup { |config| config.protocol = 'https' }
|
20
|
+
assert_equal 'https', URI.parse(Punchfork.search_url(:tomatoes).to_s).scheme
|
21
|
+
end
|
22
|
+
|
8
23
|
test "truth" do
|
9
24
|
assert_kind_of Module, Punchfork
|
10
25
|
end
|
@@ -14,6 +29,11 @@ class PunchforkTest < ActiveSupport::TestCase
|
|
14
29
|
assert_equal 50, response['recipes'].length
|
15
30
|
end
|
16
31
|
|
32
|
+
test "should support method calls" do
|
33
|
+
response = Punchfork.search(:tomatoes, count:50)
|
34
|
+
assert_equal 50, response.recipes.length
|
35
|
+
end
|
36
|
+
|
17
37
|
test "search should support strings with spaces" do
|
18
38
|
Punchfork.search('Heirloom Tomatoes')
|
19
39
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: punchfork
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-04-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: sqlite3
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,7 +21,12 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
25
30
|
description: A simple Ruby library for searching food recipes with punchfork.com
|
26
31
|
email:
|
27
32
|
- gabeodess@gmail.com
|
@@ -31,6 +36,8 @@ extra_rdoc_files: []
|
|
31
36
|
files:
|
32
37
|
- lib/punchfork/base.rb
|
33
38
|
- lib/punchfork/configuration.rb
|
39
|
+
- lib/punchfork/recipe.rb
|
40
|
+
- lib/punchfork/search.rb
|
34
41
|
- lib/punchfork/version.rb
|
35
42
|
- lib/punchfork.rb
|
36
43
|
- lib/tasks/punchfork_tasks.rake
|
@@ -58,7 +65,10 @@ files:
|
|
58
65
|
- test/dummy/config/locales/en.yml
|
59
66
|
- test/dummy/config/routes.rb
|
60
67
|
- test/dummy/config.ru
|
68
|
+
- test/dummy/db/development.sqlite3
|
69
|
+
- test/dummy/db/schema.rb
|
61
70
|
- test/dummy/db/test.sqlite3
|
71
|
+
- test/dummy/log/development.log
|
62
72
|
- test/dummy/log/test.log
|
63
73
|
- test/dummy/public/404.html
|
64
74
|
- test/dummy/public/422.html
|
@@ -83,7 +93,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
83
93
|
version: '0'
|
84
94
|
segments:
|
85
95
|
- 0
|
86
|
-
hash:
|
96
|
+
hash: 1201131303701118635
|
87
97
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
88
98
|
none: false
|
89
99
|
requirements:
|
@@ -92,10 +102,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
92
102
|
version: '0'
|
93
103
|
segments:
|
94
104
|
- 0
|
95
|
-
hash:
|
105
|
+
hash: 1201131303701118635
|
96
106
|
requirements: []
|
97
107
|
rubyforge_project:
|
98
|
-
rubygems_version: 1.8.
|
108
|
+
rubygems_version: 1.8.23
|
99
109
|
signing_key:
|
100
110
|
specification_version: 3
|
101
111
|
summary: A simple Ruby library for searching food recipes with punchfork.com
|
@@ -121,7 +131,10 @@ test_files:
|
|
121
131
|
- test/dummy/config/locales/en.yml
|
122
132
|
- test/dummy/config/routes.rb
|
123
133
|
- test/dummy/config.ru
|
134
|
+
- test/dummy/db/development.sqlite3
|
135
|
+
- test/dummy/db/schema.rb
|
124
136
|
- test/dummy/db/test.sqlite3
|
137
|
+
- test/dummy/log/development.log
|
125
138
|
- test/dummy/log/test.log
|
126
139
|
- test/dummy/public/404.html
|
127
140
|
- test/dummy/public/422.html
|