noopi 1.0.5 → 1.0.6
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 +0 -0
- data/lib/noopi.rb +43 -46
- data/lib/noopi/version.rb +1 -1
- data/noopi.gemspec +3 -3
- metadata +31 -41
- data/.gitignore +0 -4
data/README
ADDED
File without changes
|
data/lib/noopi.rb
CHANGED
@@ -1,52 +1,14 @@
|
|
1
|
-
require 'net/http'
|
2
|
-
require 'json'
|
3
|
-
require 'cgi'
|
4
|
-
|
5
1
|
class Noopi
|
2
|
+
require 'net/http'
|
3
|
+
require 'json'
|
4
|
+
require 'cgi'
|
5
|
+
require 'date'
|
6
6
|
|
7
7
|
@@api_server = 'api.noop.fr'
|
8
8
|
@@api_version = 1
|
9
9
|
@@api_key = nil
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
def initialize( api_key = nil )
|
14
|
-
@api_key = api_key || @@api_key
|
15
|
-
end
|
16
|
-
|
17
|
-
def shorten( *args )
|
18
|
-
long_url = CGI.escape( args.shift )
|
19
|
-
options = ( !args.last.nil? and args.last.is_a?( Hash ) ) ? args.pop : {}
|
20
|
-
|
21
|
-
params = {}
|
22
|
-
params[:apiKey] = @api_key
|
23
|
-
params[:long_url] = long_url
|
24
|
-
|
25
|
-
request = Net::HTTP::Get.new( "/v#{@@api_version}/shorten?#{hash_to_params( params )}" )
|
26
|
-
|
27
|
-
return send_request( request )
|
28
|
-
end
|
29
|
-
|
30
|
-
def list( *args )
|
31
|
-
params = {}
|
32
|
-
params[:apiKey] = @api_key
|
33
|
-
|
34
|
-
request = Net::HTTP::Get.new( "/v#{@@api_version}/list?#{hash_to_params( params )}" )
|
35
|
-
|
36
|
-
return send_request( request )
|
37
|
-
end
|
38
|
-
|
39
|
-
def statistics( *args )
|
40
|
-
hash_key = args.first
|
41
|
-
params = {}
|
42
|
-
params[:apiKey] = @api_key
|
43
|
-
params[:hash] = hash_key
|
44
|
-
|
45
|
-
request = Net::HTTP::Get.new( "/v#{@@api_version}/statistics?#{hash_to_params( params )}" )
|
46
|
-
|
47
|
-
return send_request( request )
|
48
|
-
end
|
49
|
-
|
11
|
+
# variables definitions methods...
|
50
12
|
def self.api_key=( value )
|
51
13
|
@@api_key = value
|
52
14
|
end
|
@@ -71,15 +33,50 @@ class Noopi
|
|
71
33
|
@@api_version
|
72
34
|
end
|
73
35
|
|
74
|
-
|
75
|
-
def
|
36
|
+
# methods :-)
|
37
|
+
def self.shorten( *args )
|
38
|
+
long_url = CGI.escape( args.shift )
|
39
|
+
options = ( !args.last.nil? and args.last.is_a?( Hash ) ) ? args.pop : {}
|
40
|
+
options[:apiKey] = @@api_key
|
41
|
+
options[:long_url] = long_url
|
42
|
+
|
43
|
+
params = self.hash_to_params( options )
|
44
|
+
request = Net::HTTP::Get.new( "/v#{@@api_version}/shorten?#{params}" )
|
45
|
+
|
46
|
+
return self.send_request( request )
|
47
|
+
end
|
48
|
+
|
49
|
+
def self.list( *args )
|
50
|
+
options = {}
|
51
|
+
options[:apiKey] = @api_key
|
52
|
+
|
53
|
+
params = self.hash_to_params( options )
|
54
|
+
request = Net::HTTP::Get.new( "/v#{@@api_version}/list?#{params}" )
|
55
|
+
|
56
|
+
return self.send_request( request )
|
57
|
+
end
|
58
|
+
|
59
|
+
def self.statistics( *args )
|
60
|
+
hash_key = args.shift
|
61
|
+
options = ( !args.last.nil? and args.last.is_a?( Hash ) ) ? args.pop : {}
|
62
|
+
options[:hash] = hash_key
|
63
|
+
options[:apiKey] = @@api_key if options[:apiKey].nil?
|
64
|
+
options[:period] = "#{Date.today.to_time.to_i}" if options[:period].nil?
|
65
|
+
|
66
|
+
params = self.hash_to_params( options )
|
67
|
+
request = Net::HTTP::Get.new( "/v#{@@api_version}/statistics?#{params}" )
|
68
|
+
|
69
|
+
return self.send_request( request )
|
70
|
+
end
|
71
|
+
|
72
|
+
def self.send_request( request )
|
76
73
|
http = Net::HTTP.new( @@api_server )
|
77
74
|
result = http.request( request )
|
78
75
|
|
79
76
|
return JSON.parse( result.body )
|
80
77
|
end
|
81
78
|
|
82
|
-
def hash_to_params( hash )
|
79
|
+
def self.hash_to_params( hash )
|
83
80
|
params = []
|
84
81
|
hash.each do |k, v|
|
85
82
|
params << "#{k}=#{CGI.escape( v )}"
|
data/lib/noopi/version.rb
CHANGED
data/noopi.gemspec
CHANGED
@@ -8,9 +8,9 @@ Gem::Specification.new do |s|
|
|
8
8
|
s.platform = Gem::Platform::RUBY
|
9
9
|
s.authors = ["Julien DUMAS"]
|
10
10
|
s.email = ["julien7.dumas@gmail.com"]
|
11
|
-
s.homepage = ""
|
12
|
-
s.summary = %q{
|
13
|
-
s.description = %q{
|
11
|
+
s.homepage = "http://noop.fr"
|
12
|
+
s.summary = %q{Noop is a link shortening service.}
|
13
|
+
s.description = %q{Noopi is a ruby wrapper for Noop API (REST)}
|
14
14
|
s.add_dependency( 'json', '>= 1.5.1' )
|
15
15
|
|
16
16
|
s.rubyforge_project = "noopi"
|
metadata
CHANGED
@@ -1,72 +1,62 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: noopi
|
3
|
-
version: !ruby/object:Gem::Version
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.6
|
4
5
|
prerelease:
|
5
|
-
version: 1.0.5
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- Julien DUMAS
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
dependencies:
|
16
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2011-08-09 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
17
15
|
name: json
|
18
|
-
|
19
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: &70157697036360 !ruby/object:Gem::Requirement
|
20
17
|
none: false
|
21
|
-
requirements:
|
22
|
-
- -
|
23
|
-
- !ruby/object:Gem::Version
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
24
21
|
version: 1.5.1
|
25
22
|
type: :runtime
|
26
|
-
|
27
|
-
|
28
|
-
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *70157697036360
|
25
|
+
description: Noopi is a ruby wrapper for Noop API (REST)
|
26
|
+
email:
|
29
27
|
- julien7.dumas@gmail.com
|
30
28
|
executables: []
|
31
|
-
|
32
29
|
extensions: []
|
33
|
-
|
34
30
|
extra_rdoc_files: []
|
35
|
-
|
36
|
-
files:
|
37
|
-
- .gitignore
|
31
|
+
files:
|
38
32
|
- Gemfile
|
33
|
+
- README
|
39
34
|
- Rakefile
|
40
35
|
- lib/noopi.rb
|
41
36
|
- lib/noopi/version.rb
|
42
37
|
- noopi.gemspec
|
43
|
-
|
44
|
-
homepage: ""
|
38
|
+
homepage: http://noop.fr
|
45
39
|
licenses: []
|
46
|
-
|
47
40
|
post_install_message:
|
48
41
|
rdoc_options: []
|
49
|
-
|
50
|
-
require_paths:
|
42
|
+
require_paths:
|
51
43
|
- lib
|
52
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
44
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
53
45
|
none: false
|
54
|
-
requirements:
|
55
|
-
- -
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
version:
|
58
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - ! '>='
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '0'
|
50
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
59
51
|
none: false
|
60
|
-
requirements:
|
61
|
-
- -
|
62
|
-
- !ruby/object:Gem::Version
|
63
|
-
version:
|
52
|
+
requirements:
|
53
|
+
- - ! '>='
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
64
56
|
requirements: []
|
65
|
-
|
66
57
|
rubyforge_project: noopi
|
67
|
-
rubygems_version: 1.6
|
58
|
+
rubygems_version: 1.8.6
|
68
59
|
signing_key:
|
69
60
|
specification_version: 3
|
70
|
-
summary:
|
61
|
+
summary: Noop is a link shortening service.
|
71
62
|
test_files: []
|
72
|
-
|
data/.gitignore
DELETED