squake 0.2.0 → 0.2.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
  SHA256:
3
- metadata.gz: b36b98d0bbe6be1cfa67c8b2ba81905f7bcdcc929308332b886548bbcd189b56
4
- data.tar.gz: ee666e2bbd9f7535c824063dd20d5cb9ca90c72e384ff1ed8983bd7400f81d20
3
+ metadata.gz: 878657f24a04c4d4ea9ac849fbde8db18e2b7899fb4b277666ffadb3d9287807
4
+ data.tar.gz: b29ad578e8187896048ba9bb807be01f3b82308de8cba2bb5bc5d1edff4b49cf
5
5
  SHA512:
6
- metadata.gz: d53fd77ab97f24cc6c3102500863865b7e0852d936b45862bfab7c946d301601b34fc0048135601518b645373ab8e67af1495e0acd039447c703c7284f239d84
7
- data.tar.gz: 7869d17821522db8690f8c9a1fd0ad950cd8471e7176c3b20f9993b4ad4f01cfb9c6f3d8f1270fb30f77f5bc91f9c5bacb55873d857e60695575c82125100a6a
6
+ metadata.gz: 6e8420f30d8cf7ef3afb890c0723da12727e785e84582725868321a18e108f6c715da6c33abc08d4a679df8375c6d2e63d9ff0448bf0354cb4edb149ebacbc2d
7
+ data.tar.gz: 418592b0bc53e33bf94661c20c572e196f7f94c70f15fa626f41dd385143204b13bc7eaa838e3940a41b734b34299738bf76c1d79e6a534ff084482aaa4f3890
data/CHANGELOG.md ADDED
@@ -0,0 +1,25 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [Unreleased]
9
+
10
+ ## [0.2.0] - 2023-06-15
11
+
12
+ ### Added
13
+
14
+ * request carbon emissions (without price quote)
15
+
16
+ ## [0.1.0] - 2023-06-14
17
+
18
+ Initial release of an MVP/POC library. Only v2 of the SQUAKE API is supported.
19
+
20
+ ### Added
21
+
22
+ * request carbon emission and price quote
23
+ * make a purchase
24
+ * retrieve a purchase
25
+ * cancel a purchase
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2023 squake-earth
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 all
13
+ 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 THE
21
+ SOFTWARE.
data/README.md CHANGED
@@ -4,20 +4,16 @@ Find the documentation here: [docs](https://docs.squake.earth/).
4
4
 
5
5
  ## Installation
6
6
 
7
- Via git:
7
+ Via rubygems:
8
8
 
9
9
  ```ruby
10
- # Gemfile
11
-
12
- gem 'squake', git: 'git@github.com:squake-earth/squake-ruby'
10
+ gem 'squake'
13
11
  ```
14
12
 
15
- Via rubygems:
13
+ Via git:
16
14
 
17
15
  ```ruby
18
- # Gemfile
19
-
20
- gem 'squake', '~> 0.1.0'
16
+ gem 'squake', git: 'git@github.com:squake-earth/squake-ruby'
21
17
  ```
22
18
 
23
19
  ## Auth
@@ -28,7 +24,7 @@ You need a different API Key for production and sandbox.
28
24
  ## Functionality
29
25
 
30
26
  * compute emission values
31
- * request a price quote (with a product id)
27
+ * request a price quote for your emissions (with a product id)
32
28
  * place a purchase order (with a price quote id)
33
29
  * get a list of all available products (includes price information)
34
30
 
@@ -129,6 +125,12 @@ Squake::Purchase.cancel(
129
125
  )
130
126
  ```
131
127
 
128
+ ## Contributions
129
+
130
+ We welcome contributions from the community. Before starting work on a major feature, please get in touch with us either via email or by opening an issue on GitHub. "Major feature" means anything that changes user-facing features or significant changes to the codebase itself.
131
+
132
+ Please commit small and focused PRs with descriptive commit messages. If you are unsure about a PR, please open a draft PR to get early feedback. A PR must have a short description ("what"), a motiviation ("why"), and, if applicable, instructions how to test the changes, measure performance improvements, etc.
133
+
132
134
  ## Publishing a new version
133
135
 
134
136
  Have a Rubygems API key in your `~/.gem/credentials` file.
@@ -141,6 +143,12 @@ Have a Rubygems API key in your `~/.gem/credentials` file.
141
143
  Then run:
142
144
 
143
145
  ```shell
144
- gem build
145
- gem push squake-0.1.0.gem --key=rubygems_squake
146
+ bin/release
146
147
  ```
148
+
149
+ which will guide you through the release process:
150
+
151
+ * create a new git tag from current main
152
+ * create a GitHub release from the tag
153
+ * build the gem locally
154
+ * publish the gem to RubyGems
data/lib/squake/config.rb CHANGED
@@ -1,6 +1,8 @@
1
1
  # typed: strict
2
2
  # frozen_string_literal: true
3
3
 
4
+ require 'logger'
5
+
4
6
  module Squake
5
7
  class Config < T::Struct
6
8
  extend T::Sig
@@ -10,7 +12,7 @@ module Squake
10
12
 
11
13
  const :api_key, String
12
14
  const :keep_alive_timeout, Integer, default: 30
13
- const :logger, Logger, factory: -> { Logger.new($stdout) }
15
+ const :logger, ::Logger, factory: -> { ::Logger.new($stdout) }
14
16
  const :sandbox_mode, T::Boolean, default: true
15
17
  const :enforced_api_base, T.nilable(String)
16
18
 
@@ -1,6 +1,8 @@
1
1
  # typed: strict
2
2
  # frozen_string_literal: true
3
3
 
4
+ require_relative 'carbon_unit'
5
+
4
6
  module Squake
5
7
  module Model
6
8
  class Carbon < T::Struct
@@ -2,5 +2,5 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module Squake
5
- VERSION = '0.2.0'
5
+ VERSION = '0.2.2'
6
6
  end
data/lib/squake.rb CHANGED
@@ -3,5 +3,8 @@
3
3
 
4
4
  require 'sorbet-runtime'
5
5
  require 'oj'
6
+ require 'net/http'
6
7
 
7
- require_relative 'squake/version'
8
+ Dir[File.join(__dir__, './**/*', '*.rb')].each { require(_1) }
9
+
10
+ module Squake; end
@@ -0,0 +1,22 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for dynamic methods in `ActiveSupport::Callbacks`.
5
+ # Please instead update this file by running `bin/tapioca dsl ActiveSupport::Callbacks`.
6
+
7
+ module ActiveSupport::Callbacks
8
+ include GeneratedInstanceMethods
9
+
10
+ mixes_in_class_methods GeneratedClassMethods
11
+
12
+ module GeneratedClassMethods
13
+ def __callbacks; end
14
+ def __callbacks=(value); end
15
+ def __callbacks?; end
16
+ end
17
+
18
+ module GeneratedInstanceMethods
19
+ def __callbacks; end
20
+ def __callbacks?; end
21
+ end
22
+ end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: squake
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
- - 'Team SQUAKE :rocket:'
7
+ - SQUAKE
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
  date: 2023-06-15 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: net-http
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'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: oj
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +66,20 @@ dependencies:
52
66
  - - ">="
53
67
  - !ruby/object:Gem::Version
54
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: byebug
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
55
83
  - !ruby/object:Gem::Dependency
56
84
  name: rubocop-dbl
57
85
  requirement: !ruby/object:Gem::Requirement
@@ -101,6 +129,8 @@ executables: []
101
129
  extensions: []
102
130
  extra_rdoc_files: []
103
131
  files:
132
+ - CHANGELOG.md
133
+ - LICENSE
104
134
  - README.md
105
135
  - lib/squake.rb
106
136
  - lib/squake/api_error.rb
@@ -121,6 +151,7 @@ files:
121
151
  - lib/squake/response.rb
122
152
  - lib/squake/util.rb
123
153
  - lib/squake/version.rb
154
+ - sorbet/rbi/dsl/active_support/callbacks.rbi
124
155
  homepage: https://github.com/squake-earth/squake-ruby
125
156
  licenses:
126
157
  - MIT