noopi 1.0.5 → 1.0.6

Sign up to get free protection for your applications and to get access to all the features.
data/README ADDED
File without changes
@@ -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
- attr_accessor :api_key
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
- private
75
- def send_request( request )
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 )}"
@@ -1,3 +1,3 @@
1
1
  class Noopi
2
- VERSION = "1.0.5"
2
+ VERSION = "1.0.6"
3
3
  end
@@ -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{n/a}
13
- s.description = %q{n/a}
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
- date: 2011-05-26 00:00:00 +02:00
14
- default_executable:
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
- prerelease: false
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
- version_requirements: *id001
27
- description: n/a
28
- email:
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
- has_rdoc: true
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: "0"
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: "0"
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.2
58
+ rubygems_version: 1.8.6
68
59
  signing_key:
69
60
  specification_version: 3
70
- summary: n/a
61
+ summary: Noop is a link shortening service.
71
62
  test_files: []
72
-
data/.gitignore DELETED
@@ -1,4 +0,0 @@
1
- *.gem
2
- .bundle
3
- Gemfile.lock
4
- pkg/*