ivapi 1.1.1 → 1.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6473bb4568ace4bf0a0e6a0ce7e9c0bf34db632b
4
- data.tar.gz: 449fff9641875fa73d4cd924d7a846484f2c3208
3
+ metadata.gz: 36b8caa71c8c90b8859c0b4997cf66402b283fa7
4
+ data.tar.gz: fe5992ef9ab6d93f82d94b858e7cfdbff8ef8599
5
5
  SHA512:
6
- metadata.gz: 75c018e5a4ce157aaab383bce1081f0a11510128eff6daf0fb96615efb4b05384556616f72e280cf4154512cabd31c7106a9c56f9ef6ed0e4d7cf8cf4c72e695
7
- data.tar.gz: 529644c48c4dbdc0d321c423e0969b9f38e04d96aedf2c4dc79bb63f0286aa57078f423bb330bad7cee454ba5cfb216e9eaf072abb75e3aafd2ece76f6944e67
6
+ metadata.gz: 0f74ff49ba94ba64da6ea041a3fe91392187ece35ea400769c512cf86252fae18f15cfb06ba7c49f628680e4dfc6eafd44b2570f38e790b79383e76ff3a9507c
7
+ data.tar.gz: 154ee0a59ccddb3e053a6818343aad2c44b8141ac9c3f13f62a7cf70820e51e736c479d525a8ad64b187c14f972687bba7612ace1b68883275225cb9b3d80cdc
data/Gemfile CHANGED
@@ -4,11 +4,11 @@ gem 'rake'
4
4
 
5
5
  group :test do
6
6
  gem 'json', '~> 1.8.1', platforms: [:jruby]
7
- gem 'rspec', '~> 3.0.0'
8
- gem 'simplecov', '~> 0.8.2', require: false
7
+ gem 'rspec', '~> 3.1.0'
8
+ gem 'simplecov', '~> 0.9.0', require: false
9
9
  gem 'webmock', '~> 1.18.0'
10
- gem 'coveralls', '~> 0.7.0', require: false
11
- gem 'guard-rspec', '~> 4.2.10'
10
+ gem 'coveralls', '~> 0.7.1', require: false
11
+ gem 'guard-rspec', '~> 4.3.1'
12
12
  end
13
13
 
14
14
  gemspec
data/README.md CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem which helps to communicate with Interneto vizija [http://iv.lt][iv.lt] ([http://dedikuoti.lt][dedikuoti.lt]) API.
4
4
 
5
- [![Gem Version](https://badge.fury.io/rb/ivapi.svg)][rubygems]
6
- [![Build Status](https://secure.travis-ci.org/jpalumickas/ivapi.svg?branch=master)][travis]
7
- [![Dependency Status](https://gemnasium.com/jpalumickas/ivapi.png?travis)][gemnasium]
8
- [![Coverage Status](http://img.shields.io/coveralls/jpalumickas/ivapi/master.svg)][coveralls]
9
- [![Code Climate](http://img.shields.io/codeclimate/github/jpalumickas/ivapi.svg)][codeclimate]
5
+ [![Gem Version](http://img.shields.io/gem/v/ivapi.svg?style=flat)][rubygems]
6
+ [![Build Status](http://img.shields.io/travis/jpalumickas/ivapi.svg?style=flat)][travis]
7
+ [![Dependency Status](http://img.shields.io/gemnasium/jpalumickas/ivapi.svg?style=flat)][gemnasium]
8
+ [![Coverage Status](http://img.shields.io/coveralls/jpalumickas/ivapi/master.svg?style=flat)][coveralls]
9
+ [![Code Climate](http://img.shields.io/codeclimate/github/jpalumickas/ivapi.svg?style=flat)][codeclimate]
10
10
 
11
11
  ## Installation
12
12
 
@@ -12,17 +12,18 @@ Gem::Specification.new do |gem|
12
12
  gem.homepage = 'https://github.com/jpalumickas/ivapi/'
13
13
  gem.license = 'MIT'
14
14
 
15
- gem.files = `git ls-files`.split($/)
16
- gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
15
+ gem.files = `git ls-files -z`.split("\x0")
16
+ gem.executables = gem.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
17
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
18
  gem.require_paths = ['lib']
19
19
 
20
- gem.add_development_dependency 'bundler', '~> 1.0'
21
20
  gem.add_dependency 'addressable', '~> 2.3'
22
21
  gem.add_dependency 'faraday', '~> 0.9.0'
23
22
  gem.add_dependency 'faraday_middleware', '~> 0.9.1'
24
- gem.add_dependency 'hashie', '~> 3.0'
25
- gem.add_dependency 'multi_json', '~> 1.9'
23
+ gem.add_dependency 'hashie', '~> 3.3'
24
+ gem.add_dependency 'multi_json', '~> 1.10'
25
+ gem.add_development_dependency 'bundler', '~> 1.5'
26
+ gem.add_development_dependency 'rake', '~> 10.0'
26
27
 
27
28
  gem.version = Ivapi::VERSION
28
29
  end
@@ -1,11 +1,11 @@
1
1
  require 'ivapi/client'
2
2
  require 'ivapi/default'
3
3
  require 'pry'
4
+
4
5
  module Ivapi
5
6
  extend Ivapi::Configuration
6
7
 
7
8
  class << self
8
-
9
9
  def client
10
10
  unless defined?(@client) && @client.same_options?(options)
11
11
  @client = Ivapi::Client.new(options)
@@ -20,7 +20,7 @@ module Ivapi
20
20
 
21
21
  def respond_to?(method_name, include_private = false)
22
22
  client.respond_to?(method_name, include_private) || super
23
- end if RUBY_VERSION < '1.9'
23
+ end if RUBY_VERSION < '1.9'
24
24
 
25
25
  private
26
26
 
@@ -28,7 +28,6 @@ module Ivapi
28
28
  return super unless client.respond_to?(method_name)
29
29
  client.send(method_name, *args, &block)
30
30
  end
31
-
32
31
  end
33
32
  end
34
33
 
@@ -3,7 +3,6 @@ require 'ivapi/version'
3
3
 
4
4
  module Ivapi
5
5
  module Configuration
6
-
7
6
  attr_accessor :server_id, :user_agent, :connection_options,
8
7
  :web_endpoint, :api_endpoint
9
8
  attr_writer :username, :password
@@ -31,7 +30,7 @@ module Ivapi
31
30
  end
32
31
  self
33
32
  end
34
- alias setup reset!
33
+ alias_method :setup, :reset!
35
34
 
36
35
  def configure
37
36
  yield self
@@ -4,7 +4,6 @@ require 'ivapi/response/rename_keys'
4
4
  require 'ivapi/version'
5
5
 
6
6
  module Ivapi
7
-
8
7
  # Default configuration options for {Client}
9
8
  module Default
10
9
  # Default API endpoint
@@ -23,23 +22,24 @@ module Ivapi
23
22
  # Default Faraday middleware stack
24
23
  MIDDLEWARE = RACK_BUILDER_CLASS.new do |builder|
25
24
  builder.request :json
25
+
26
26
  builder.use Ivapi::Response::RaiseError
27
27
  builder.use FaradayMiddleware::FollowRedirects
28
28
  builder.use FaradayMiddleware::Mashify
29
29
  builder.use Ivapi::Response::RenameKeys
30
30
  builder.use FaradayMiddleware::ParseJson
31
+
31
32
  builder.adapter Faraday.default_adapter
32
33
  end
33
34
 
34
35
  class << self
35
-
36
36
  # Configuration options
37
37
  # @return [Hash]
38
38
  def options
39
39
  Hash[Ivapi::Configuration.keys.map { |key| [key, send(key)] }]
40
40
  end
41
41
 
42
- # Default GitHub username for Basic Auth from ENV
42
+ # Default GitHub username for Basic Auth from ENV
43
43
  # @return [String]
44
44
  def username
45
45
  ENV['IVAPI_USERNAME']
@@ -4,17 +4,14 @@ require 'ivapi/error'
4
4
  module Ivapi
5
5
  # Faraday response middleware
6
6
  module Response
7
-
8
7
  # This class raises an exception based HTTP status codes returned
9
8
  # by the API.
10
9
  class RaiseError < Faraday::Response::Middleware
11
-
12
10
  private
13
11
 
14
12
  def on_complete(response)
15
- if error = Ivapi::Error.from_response(response)
16
- raise error
17
- end
13
+ error = Ivapi::Error.from_response(response)
14
+ fail error if error
18
15
  end
19
16
  end
20
17
  end
@@ -4,9 +4,7 @@ module Ivapi
4
4
  # Faraday response middleware
5
5
  module Response
6
6
  class RenameKeys < Faraday::Response::Middleware
7
- UNUSED_KEYS = [
8
- 'ac_', 'us_', 'bo_', 'or_', 'se_', 'ta_', 'in_'
9
- ].freeze
7
+ UNUSED_KEYS = %w(ac_ us_ bo_ or_ se_ ta_ in_).freeze
10
8
 
11
9
  private
12
10
 
@@ -16,23 +14,29 @@ module Ivapi
16
14
 
17
15
  def rename_keys(input)
18
16
  if input.is_a?(Hash)
19
- new = {}
20
- input.map do |key, value|
21
- if value.is_a?(Hash)
22
- value = rename_keys(value)
23
- elsif value.is_a?(Array)
24
- value = value.map { |v| rename_keys(v) }
25
- end
26
-
27
- new[key.gsub(Regexp.union(UNUSED_KEYS), '')] = value
28
- end
29
- new
17
+ rename_keys_from_hash(input)
30
18
  elsif input.is_a?(Array)
31
19
  input.map { |value| rename_keys(value) }
32
20
  else
33
21
  input
34
22
  end
35
23
  end
24
+
25
+ def rename_keys_from_hash(input)
26
+ new_hash = {}
27
+
28
+ input.map do |key, value|
29
+ if value.is_a?(Hash)
30
+ value = rename_keys(value)
31
+ elsif value.is_a?(Array)
32
+ value = value.map { |v| rename_keys(v) }
33
+ end
34
+
35
+ new_hash[key.gsub(Regexp.union(UNUSED_KEYS), '')] = value
36
+ end
37
+
38
+ new_hash
39
+ end
36
40
  end
37
41
  end
38
42
  end
@@ -1,3 +1,3 @@
1
1
  module Ivapi
2
- VERSION = '1.1.1'
2
+ VERSION = '1.1.2'
3
3
  end
@@ -2,6 +2,10 @@ require 'spec_helper'
2
2
 
3
3
  describe Ivapi::Client do
4
4
 
5
+ after(:each) do
6
+ Ivapi.reset!
7
+ end
8
+
5
9
  it 'works with basic auth and password' do
6
10
  url = 'https://api.iv.lt/json.php?nick=foo&password=bar&command=version'
7
11
 
@@ -13,15 +17,12 @@ describe Ivapi::Client do
13
17
  end
14
18
 
15
19
  describe 'authentication' do
16
- after(:each) do
17
- Ivapi.reset!
18
- end
19
-
20
20
  it 'should possible to authenticate with configure' do
21
21
  Ivapi.configure do |config|
22
22
  config.username = 'foo'
23
23
  config.password = 'bar'
24
24
  end
25
+
25
26
  expect(Ivapi.client).to be_authenticated
26
27
  end
27
28
 
@@ -37,10 +38,6 @@ describe Ivapi::Client do
37
38
  end
38
39
 
39
40
  describe 'setting server id from client' do
40
- before(:each) do
41
- Ivapi.reset!
42
- end
43
-
44
41
  it 'should not have server id' do
45
42
  client = Ivapi::Client.new(username: 'foo', password: 'bar')
46
43
  expect(client.server_id).to be_nil
@@ -54,7 +51,6 @@ describe Ivapi::Client do
54
51
 
55
52
  describe 'manualy setting server id' do
56
53
  before(:each) do
57
- Ivapi.reset!
58
54
  Ivapi.configure do |config|
59
55
  config.username = 'foo'
60
56
  config.password = 'bar'
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ivapi
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justas Palumickas
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-30 00:00:00.000000000 Z
11
+ date: 2014-09-16 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: bundler
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '1.0'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '1.0'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: addressable
29
15
  requirement: !ruby/object:Gem::Requirement
@@ -72,28 +58,56 @@ dependencies:
72
58
  requirements:
73
59
  - - "~>"
74
60
  - !ruby/object:Gem::Version
75
- version: '3.0'
61
+ version: '3.3'
76
62
  type: :runtime
77
63
  prerelease: false
78
64
  version_requirements: !ruby/object:Gem::Requirement
79
65
  requirements:
80
66
  - - "~>"
81
67
  - !ruby/object:Gem::Version
82
- version: '3.0'
68
+ version: '3.3'
83
69
  - !ruby/object:Gem::Dependency
84
70
  name: multi_json
85
71
  requirement: !ruby/object:Gem::Requirement
86
72
  requirements:
87
73
  - - "~>"
88
74
  - !ruby/object:Gem::Version
89
- version: '1.9'
75
+ version: '1.10'
90
76
  type: :runtime
91
77
  prerelease: false
92
78
  version_requirements: !ruby/object:Gem::Requirement
93
79
  requirements:
94
80
  - - "~>"
95
81
  - !ruby/object:Gem::Version
96
- version: '1.9'
82
+ version: '1.10'
83
+ - !ruby/object:Gem::Dependency
84
+ name: bundler
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.5'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1.5'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rake
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '10.0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '10.0'
97
111
  description: " Gem which helps to communicate with http://www.iv.lt API. "
98
112
  email: jpalumickas@gmail.com
99
113
  executables: []