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 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/*