pixela 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: bbd9c38bce70da0d2342696429f2134f5fe83dc3d1ce78700a5e0495b34b64fa
4
+ data.tar.gz: dc1595b8c1933918359afcc20071b8bc9cf4fa14228cb7bbab75ac587a2c339e
5
+ SHA512:
6
+ metadata.gz: 5602f7337b1c274af570a02f53ada0c77f010254dd4ede21098c4127f1cc73ab94155c2b286ca186d9e9657476acbb28755ca03bc62a028ac68171bae98fa12b
7
+ data.tar.gz: a0931a40c579bb7cb26b3d80a901850426c4e651f3741e0cd7692c96aeaa9d42939187c66694cebb6fc571e197e24d370d2919de39f6e9b6a05ff3790ea48e29
@@ -0,0 +1,2 @@
1
+ USERNAME=
2
+ TOKEN=
@@ -0,0 +1,14 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
9
+
10
+ # rspec failure tracking
11
+ .rspec_status
12
+
13
+ Gemfile.lock
14
+ .env
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format progress
2
+ --color
3
+ --require spec_helper
@@ -0,0 +1,26 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.3
4
+ - 2.4
5
+ - 2.5
6
+ - ruby-head
7
+ bundler_args: "--jobs=2"
8
+ cache: bundler
9
+ before_install:
10
+ - gem update --system --no-document
11
+ - gem install bundler --no-document
12
+ before_script:
13
+ - export CODECLIMATE_REPO_TOKEN=67b1bed21e42834690bb57b148b93d6bd23410d8e013afdf6a89d66f36011a95
14
+ script:
15
+ - bundle exec rspec
16
+ branches:
17
+ only:
18
+ - master
19
+ notifications:
20
+ email: false
21
+ slack:
22
+ secure: ec/Q9tFK+TjW7ZVOWg8NPfa4IFfbU24ljqObG7YhlaYaIN63MMdMITfy17sQahm2T0x7jhAzxDo1pDTb9XoBs12cu2wogZltv+daZwATWYzipvUxQqge1yywnFn3QLfQyzAl5p1MYkxLpJeVDRD8wunmc2OikR4jMtl5KDk9e2sItHGJdfPY8mFhM+sKaLyy9mbGo02aqRqwhgXGFQg1lZ/D6qPZKPSAd+S+uJgma8En4P292APBN9hsgpjC4HGqiqhPumOyjmdiVZ//4QoYhIEaMGJiwKyv9GwS0cTfk6w9MNFRILhj4tN3kP8ZsI7h5oQy8+x0Deac9joTKMNVarvZkVFZWLZ3p8mthdsRNKZeYxkSgnrhwA/3CFe/THjolfROA61iQqWxFycdIqSieiGHZ57EvHo7HOSD5Kc0017X+UITjiWiKiSQPddPmYm5hl9lo9rBo1RaJRr6B5A2qrw2SBmNfH38+BDTMFZprJLN51LBJ4DEy4R0CClbyIk6DbODsWqQC+W+6sOCWOhrVXSeSVlxPz7hT24ezkcMLMvoA5k9f6Gi2cWWDD9CmRI2Upt+5lx0Ui1/9xbk4RG6/hue8L764jdQ2mqNtrAZJSjdfs9KxapoKFllezdwhNVJS4UoU6PT9DU227cHH3SWHYm9GHu/pQ6kdhBGcr/EMiY=
23
+ matrix:
24
+ allow_failures:
25
+ - rvm: ruby-head
26
+ sudo: false
@@ -0,0 +1,5 @@
1
+ ## Unreleased
2
+ [full changelog](http://github.com/sue445/pixela/compare/v0.1.0...master)
3
+
4
+ ## v0.1.0
5
+ * first release
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ source "https://rubygems.org"
2
+
3
+ git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
4
+
5
+ # Specify your gem's dependencies in pixela.gemspec
6
+ gemspec
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2018 sue445
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,58 @@
1
+ # Pixela
2
+
3
+ [Pixela](https://pixe.la/) API client for Ruby
4
+
5
+ [![Build Status](https://travis-ci.org/sue445/pixela.svg?branch=master)](https://travis-ci.org/sue445/pixela)
6
+ [![Maintainability](https://api.codeclimate.com/v1/badges/4c6316222717ee809b57/maintainability)](https://codeclimate.com/github/sue445/pixela/maintainability)
7
+
8
+ ## Installation
9
+
10
+ Add this line to your application's Gemfile:
11
+
12
+ ```ruby
13
+ gem 'pixela'
14
+ ```
15
+
16
+ And then execute:
17
+
18
+ $ bundle
19
+
20
+ Or install it yourself as:
21
+
22
+ $ gem install pixela
23
+
24
+ ## Usage
25
+
26
+ ```ruby
27
+ require "pixela"
28
+
29
+ client = Pixela::Client.new(username: "YOUR_NAME", token: "YOUR_TOKEN")
30
+
31
+ # register
32
+ client.create_user(agree_terms_of_service: true, not_minor: true)
33
+
34
+ # create graph
35
+ client.create_graph(graph_id: "test-graph", name: "graph-name", unit: "commit", type: "int", color: "shibafu")
36
+
37
+ # register value
38
+ require "date"
39
+ client.create_pixel(graph_id: "test-graph", date: Date.today, quantity: 5)
40
+ ```
41
+
42
+ All methods are followings
43
+
44
+ https://www.rubydoc.info/gems/pixela
45
+
46
+ ## Development
47
+
48
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
49
+
50
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
51
+
52
+ ## Contributing
53
+
54
+ Bug reports and pull requests are welcome on GitHub at https://github.com/sue445/pixela.
55
+
56
+ ## License
57
+
58
+ The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
@@ -0,0 +1,6 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "pixela"
5
+ require "dotenv"
6
+
7
+ # You can add fixtures and/or initialization code here to make experimenting
8
+ # with your gem easier. You can also use a different console, if you like.
9
+
10
+ Dotenv.load
11
+
12
+ @client = Pixela::Client.new(username: ENV["USERNAME"], token: ENV["TOKEN"])
13
+
14
+ Pixela.config.debug_logger = Logger.new(STDOUT)
15
+
16
+ require "pry"
17
+ Pry.start
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,17 @@
1
+ require "pixela/version"
2
+ require "faraday"
3
+ require "faraday_middleware"
4
+ require "faraday_curl"
5
+
6
+ module Pixela
7
+ autoload :Client, "pixela/client"
8
+ autoload :Configure, "pixela/configure"
9
+
10
+ # @return [Pixela::Configure]
11
+ def self.config
12
+ @config ||= Configure.new
13
+ end
14
+
15
+ class PixelaError < StandardError
16
+ end
17
+ end
@@ -0,0 +1,78 @@
1
+ module Pixela
2
+ class Client
3
+ autoload :GraphMethods, "pixela/client/graph_methods"
4
+ autoload :PixelMethods, "pixela/client/pixel_methods"
5
+ autoload :UserMethods, "pixela/client/user_methods"
6
+
7
+ include GraphMethods
8
+ include PixelMethods
9
+ include UserMethods
10
+
11
+ API_ENDPOINT = "https://pixe.la/v1"
12
+
13
+ attr_reader :username
14
+
15
+ # @param username [String]
16
+ # @param token [String] secret token
17
+ def initialize(username:, token:)
18
+ @username = username
19
+ @token = token
20
+ end
21
+
22
+ # @return [String]
23
+ def inspect
24
+ # NOTE: hide @token
25
+ %Q(#<Pixela::Client:0x#{"%016X" % object_id} @username="#{username}">)
26
+ end
27
+
28
+ private
29
+
30
+ attr_reader :token
31
+
32
+ def connection
33
+ Faraday.new(API_ENDPOINT) do |conn|
34
+ conn.request :json
35
+ conn.response :mashify
36
+ conn.response :json
37
+ conn.response :raise_error
38
+
39
+ if Pixela.config.debug_logger
40
+ conn.request :curl, Pixela.config.debug_logger, :debug
41
+ conn.response :logger, Pixela.config.debug_logger
42
+ end
43
+
44
+ conn.adapter Faraday.default_adapter
45
+ end
46
+ end
47
+
48
+ def with_error_handling
49
+ yield
50
+ rescue Faraday::ClientError => error
51
+ begin
52
+ body = JSON.parse(error.response[:body])
53
+ raise PixelaError, body["message"]
54
+ rescue JSON::ParserError
55
+ raise error
56
+ end
57
+ end
58
+
59
+ def default_headers
60
+ {
61
+ "User-Agent" => "Pixela v#{Pixela::VERSION} (https://github.com/sue445/pixela)",
62
+ "Content-Type" => "application/json",
63
+ }
64
+ end
65
+
66
+ def user_token_headers
67
+ { "X-USER-TOKEN" => token }.merge(default_headers)
68
+ end
69
+
70
+ def to_boolean_string(flag)
71
+ flag ? "yes" : "no"
72
+ end
73
+
74
+ def to_ymd(date)
75
+ date.strftime("%Y%m%d")
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,88 @@
1
+ module Pixela::Client::GraphMethods
2
+ # Create a new pixelation graph definition.
3
+ #
4
+ # @param graph_id [String]
5
+ # @param name [String]
6
+ # @param unit [String]
7
+ # @param type [String]
8
+ # @param color [String]
9
+ #
10
+ # @return [Hashie::Mash]
11
+ #
12
+ # @see https://pixe.la/#api-graph
13
+ def create_graph(graph_id:, name:, unit:, type:, color:)
14
+ params = {
15
+ id: graph_id,
16
+ name: name,
17
+ unit: unit,
18
+ type: type,
19
+ color: color,
20
+ }
21
+
22
+ with_error_handling do
23
+ connection.post("users/#{username}/graphs", params, user_token_headers).body
24
+ end
25
+ end
26
+
27
+ # Get all predefined pixelation graph definitions.
28
+ #
29
+ # @return [Array<Hashie::Mash>]
30
+ #
31
+ # @see https://pixe.la/#api-graph
32
+ def get_graphs
33
+ with_error_handling do
34
+ connection.get("users/#{username}/graphs", nil, user_token_headers).body.graphs
35
+ end
36
+ end
37
+
38
+ # Get graph url
39
+ #
40
+ # @param graph_id [String]
41
+ # @param date [Date,Time,String]
42
+ #
43
+ # @return [String]
44
+ #
45
+ # @see https://pixe.la/#api-graph
46
+ def graph_url(graph_id:, date: nil)
47
+ url = "https://pixe.la/v1/users/#{username}/graphs/#{graph_id}"
48
+
49
+ url << "?date=#{to_ymd(date)}" if date
50
+
51
+ url
52
+ end
53
+
54
+ # Update predefined pixelation graph definitions.
55
+ #
56
+ # @param graph_id [String]
57
+ # @param name [String]
58
+ # @param unit [String]
59
+ # @param color [String]
60
+ #
61
+ # @return [Hashie::Mash]
62
+ #
63
+ # @see https://pixe.la/#api-graph
64
+ def update_graph(graph_id:, name:, unit:, color:)
65
+ params = {
66
+ name: name,
67
+ unit: unit,
68
+ color: color,
69
+ }
70
+
71
+ with_error_handling do
72
+ connection.put("users/#{username}/graphs/#{graph_id}", params, user_token_headers).body
73
+ end
74
+ end
75
+
76
+ # Delete the predefined pixelation graph definition.
77
+ #
78
+ # @param graph_id [String]
79
+ #
80
+ # @return [Hashie::Mash]
81
+ #
82
+ # @see https://pixe.la/#api-graph
83
+ def delete_graph(graph_id)
84
+ with_error_handling do
85
+ connection.delete("users/#{username}/graphs/#{graph_id}", nil, user_token_headers).body
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,94 @@
1
+ module Pixela::Client::PixelMethods
2
+ # It records the quantity of the specified date as a "Pixel".
3
+ #
4
+ # @param graph_id [String]
5
+ # @param date [Date,Time]
6
+ # @param quantity [Integer,Float]
7
+ #
8
+ # @return [Hashie::Mash]
9
+ #
10
+ # @see https://pixe.la/#api-pixel
11
+ def create_pixel(graph_id:, date:, quantity:)
12
+ params = {
13
+ date: to_ymd(date),
14
+ quantity: quantity.to_s,
15
+ }
16
+
17
+ with_error_handling do
18
+ connection.post("users/#{username}/graphs/#{graph_id}", params, user_token_headers).body
19
+ end
20
+ end
21
+
22
+ # Get registered quantity as "Pixel".
23
+ #
24
+ # @param graph_id [String]
25
+ # @param date [Date,Time]
26
+ #
27
+ # @return [Hashie::Mash]
28
+ #
29
+ # @see https://pixe.la/#api-pixel
30
+ def get_pixel(graph_id:, date:)
31
+ with_error_handling do
32
+ connection.get("users/#{username}/graphs/#{graph_id}/#{to_ymd(date)}", nil, user_token_headers).body
33
+ end
34
+ end
35
+
36
+ # Update the quantity already registered as a "Pixel".
37
+ #
38
+ # @param graph_id [String]
39
+ # @param date [Date,Time]
40
+ # @param quantity [Integer,Float]
41
+ #
42
+ # @return [Hashie::Mash]
43
+ #
44
+ # @see https://pixe.la/#api-pixel
45
+ def update_pixel(graph_id:, date:, quantity:)
46
+ params = {
47
+ quantity: quantity.to_s,
48
+ }
49
+
50
+ with_error_handling do
51
+ connection.put("users/#{username}/graphs/#{graph_id}/#{to_ymd(date)}", params, user_token_headers).body
52
+ end
53
+ end
54
+
55
+ # Delete the registered "Pixel".
56
+ #
57
+ # @param graph_id [String]
58
+ # @param date [Date,Time]
59
+ #
60
+ # @return [Hashie::Mash]
61
+ #
62
+ # @see https://pixe.la/#api-pixel
63
+ def delete_pixel(graph_id:, date:)
64
+ with_error_handling do
65
+ connection.delete("users/#{username}/graphs/#{graph_id}/#{to_ymd(date)}", nil, user_token_headers).body
66
+ end
67
+ end
68
+
69
+ # Increment quantity "Pixel" of the day (UTC).
70
+ #
71
+ # @param graph_id [String]
72
+ #
73
+ # @return [Hashie::Mash]
74
+ #
75
+ # @see https://pixe.la/#api-pixel
76
+ def increment_pixel(graph_id:)
77
+ with_error_handling do
78
+ connection.put("users/#{username}/graphs/#{graph_id}/increment", nil, user_token_headers).body
79
+ end
80
+ end
81
+
82
+ # Decrement quantity "Pixel" of the day (UTC).
83
+ #
84
+ # @param graph_id [String]
85
+ #
86
+ # @return [Hashie::Mash]
87
+ #
88
+ # @see https://pixe.la/#api-pixel
89
+ def decrement_pixel(graph_id:)
90
+ with_error_handling do
91
+ connection.put("users/#{username}/graphs/#{graph_id}/decrement", nil, user_token_headers).body
92
+ end
93
+ end
94
+ end
@@ -0,0 +1,55 @@
1
+ module Pixela::Client::UserMethods
2
+ # Create a new Pixela user.
3
+ #
4
+ # @param agree_terms_of_service [Boolean]
5
+ # @param not_minor [Boolean]
6
+ #
7
+ # @return [Hashie::Mash]
8
+ #
9
+ # @see https://pixe.la/#api-user
10
+ def create_user(agree_terms_of_service:, not_minor:)
11
+ params = {
12
+ token: token,
13
+ username: username,
14
+ agreeTermsOfService: to_boolean_string(agree_terms_of_service),
15
+ notMinor: to_boolean_string(not_minor),
16
+ }
17
+
18
+ with_error_handling do
19
+ connection.post("users", params, default_headers).body
20
+ end
21
+ end
22
+
23
+ # Updates the authentication token for the specified user.
24
+ #
25
+ # @param new_token [String]
26
+ #
27
+ # @return [Hashie::Mash]
28
+ #
29
+ # @see https://pixe.la/#api-user
30
+ def update_user(new_token:)
31
+ params = {
32
+ newToken: new_token,
33
+ }
34
+
35
+ response =
36
+ with_error_handling do
37
+ connection.put("users/#{username}", params, user_token_headers).body
38
+ end
39
+
40
+ @token = new_token
41
+
42
+ response
43
+ end
44
+
45
+ # Deletes the specified registered user.
46
+ #
47
+ # @return [Hashie::Mash]
48
+ #
49
+ # @see https://pixe.la/#api-user
50
+ def delete_user
51
+ with_error_handling do
52
+ connection.delete("users/#{username}", nil, user_token_headers).body
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,7 @@
1
+ module Pixela
2
+ class Configure
3
+ # @!attribute debug_logger
4
+ # @return [Logger]
5
+ attr_accessor :debug_logger
6
+ end
7
+ end
@@ -0,0 +1,3 @@
1
+ module Pixela
2
+ VERSION = "0.1.0"
3
+ end
@@ -0,0 +1,52 @@
1
+
2
+ lib = File.expand_path("../lib", __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require "pixela/version"
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "pixela"
8
+ spec.version = Pixela::VERSION
9
+ spec.authors = ["sue445"]
10
+ spec.email = ["sue445@sue445.net"]
11
+
12
+ spec.summary = %q{Pixela API client for Ruby}
13
+ spec.description = %q{Pixela API client for Ruby}
14
+ spec.homepage = "https://github.com/sue445/pixela"
15
+ spec.license = "MIT"
16
+
17
+ # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
18
+ # to allow pushing to a single host or delete this section to allow pushing to any host.
19
+ if spec.respond_to?(:metadata)
20
+ spec.metadata["homepage_uri"] = spec.homepage
21
+ spec.metadata["source_code_uri"] = spec.homepage
22
+ spec.metadata["changelog_uri"] = spec.homepage + "/blob/master/CHANGELOG.md"
23
+ else
24
+ raise "RubyGems 2.0 or newer is required to protect against " \
25
+ "public gem pushes."
26
+ end
27
+
28
+ # Specify which files should be added to the gem when it is released.
29
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
30
+ spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
31
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
32
+ end
33
+ spec.bindir = "exe"
34
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
35
+ spec.require_paths = ["lib"]
36
+
37
+ spec.add_dependency "faraday"
38
+ spec.add_dependency "faraday_curl"
39
+ spec.add_dependency "faraday_middleware"
40
+ spec.add_dependency "hashie"
41
+
42
+ spec.add_development_dependency "bundler", "~> 1.16"
43
+ spec.add_development_dependency "codeclimate-test-reporter", "~> 1.0.0"
44
+ spec.add_development_dependency "coveralls"
45
+ spec.add_development_dependency "dotenv"
46
+ spec.add_development_dependency "pry-byebug"
47
+ spec.add_development_dependency "rake", "~> 10.0"
48
+ spec.add_development_dependency "rspec", "~> 3.0"
49
+ spec.add_development_dependency "rspec-its"
50
+ spec.add_development_dependency "simplecov"
51
+ spec.add_development_dependency "webmock"
52
+ end
metadata ADDED
@@ -0,0 +1,262 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: pixela
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - sue445
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2018-10-15 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: faraday
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: faraday_curl
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: faraday_middleware
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: hashie
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: bundler
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.16'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.16'
83
+ - !ruby/object:Gem::Dependency
84
+ name: codeclimate-test-reporter
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 1.0.0
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 1.0.0
97
+ - !ruby/object:Gem::Dependency
98
+ name: coveralls
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: dotenv
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: pry-byebug
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: rake
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '10.0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '10.0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: rspec
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '3.0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: '3.0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: rspec-its
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: simplecov
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: webmock
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ description: Pixela API client for Ruby
210
+ email:
211
+ - sue445@sue445.net
212
+ executables: []
213
+ extensions: []
214
+ extra_rdoc_files: []
215
+ files:
216
+ - ".env.example"
217
+ - ".gitignore"
218
+ - ".rspec"
219
+ - ".travis.yml"
220
+ - CHANGELOG.md
221
+ - Gemfile
222
+ - LICENSE.txt
223
+ - README.md
224
+ - Rakefile
225
+ - bin/console
226
+ - bin/setup
227
+ - lib/pixela.rb
228
+ - lib/pixela/client.rb
229
+ - lib/pixela/client/graph_methods.rb
230
+ - lib/pixela/client/pixel_methods.rb
231
+ - lib/pixela/client/user_methods.rb
232
+ - lib/pixela/configure.rb
233
+ - lib/pixela/version.rb
234
+ - pixela.gemspec
235
+ homepage: https://github.com/sue445/pixela
236
+ licenses:
237
+ - MIT
238
+ metadata:
239
+ homepage_uri: https://github.com/sue445/pixela
240
+ source_code_uri: https://github.com/sue445/pixela
241
+ changelog_uri: https://github.com/sue445/pixela/blob/master/CHANGELOG.md
242
+ post_install_message:
243
+ rdoc_options: []
244
+ require_paths:
245
+ - lib
246
+ required_ruby_version: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - ">="
249
+ - !ruby/object:Gem::Version
250
+ version: '0'
251
+ required_rubygems_version: !ruby/object:Gem::Requirement
252
+ requirements:
253
+ - - ">="
254
+ - !ruby/object:Gem::Version
255
+ version: '0'
256
+ requirements: []
257
+ rubyforge_project:
258
+ rubygems_version: 2.7.7
259
+ signing_key:
260
+ specification_version: 4
261
+ summary: Pixela API client for Ruby
262
+ test_files: []