ivapi 1.1.1 → 1.1.2

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.
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: []