diff --git a/.env.template b/.env.template new file mode 100644 index 0000000..c882ec8 --- /dev/null +++ b/.env.template @@ -0,0 +1,2 @@ +API_KEY='firebasewebapikey' +DYNAMIC_LINK_DOMAIN='https://yourfirebaseshort.link' \ No newline at end of file diff --git a/.github/workflows/audit.yml b/.github/workflows/audit.yml new file mode 100644 index 0000000..89adadb --- /dev/null +++ b/.github/workflows/audit.yml @@ -0,0 +1,22 @@ +name: Audit + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] +jobs: + audit: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Setup Ruby and install gems + uses: ruby/setup-ruby@473e4d8fe5dd94ee328fdfca9f8c9c7afc9dae5e + with: + ruby-version: 2.7 + bundler-cache: true + - name: Run security checks + run: | + bin/bundler-audit --update \ No newline at end of file diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml new file mode 100644 index 0000000..6c00f21 --- /dev/null +++ b/.github/workflows/codeql-analysis.yml @@ -0,0 +1,70 @@ +# For most projects, this workflow file will not need changing; you simply need +# to commit it to your repository. +# +# You may wish to alter this file to override the set of languages analyzed, +# or to provide custom queries or build logic. +# +# ******** NOTE ******** +# We have attempted to detect the languages in your repository. Please check +# the `language` matrix defined below to confirm you have the correct set of +# supported CodeQL languages. +# +name: "CodeQL" + +on: + push: + branches: [ master ] + pull_request: + # The branches below must be a subset of the branches above + branches: [ master ] + schedule: + - cron: '21 10 * * 4' + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [ 'ruby' ] + # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] + # Learn more about CodeQL language support at https://git.io/codeql-language-support + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v1 + with: + languages: ${{ matrix.language }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + # queries: ./path/to/local/query, your-org/your-repo/queries@main + + # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v1 + + # ℹī¸ Command-line programs to run using the OS shell. + # 📚 https://git.io/JvXDl + + # ✏ī¸ If the Autobuild fails above, remove it and uncomment the following three lines + # and modify them (or add more) to build your code if your project + # uses a compiled language + + #- run: | + # make bootstrap + # make release + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v1 diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml new file mode 100644 index 0000000..7194d16 --- /dev/null +++ b/.github/workflows/coverage.yml @@ -0,0 +1,34 @@ +name: Test Coverage + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + coverage: + name: coverage + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Ruby + uses: ruby/setup-ruby@473e4d8fe5dd94ee328fdfca9f8c9c7afc9dae5e + with: + ruby-version: 2.7 + bundler-cache: true # runs 'bundle install' and caches installed gems automatically + - name: Install cc-test-reporter and prebuild notification + run: | + curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter + chmod +x ./cc-test-reporter + ./cc-test-reporter before-build + - name: Run tests + env: + COVERAGE: 1 + API_KEY: "${{secrets.API_KEY}}" + DYNAMIC_LINK_DOMAIN: "${{ secrets.DYNAMIC_LINK_DOMAIN }}" + run: bundle exec rspec + - name: CodeClimate Post-build upload + env: + CC_TEST_REPORTER_ID: 22b531be7956bd878ec8ce211da98c483c9724eebc8eb72f99d064f00aa6e985 + run: ./cc-test-reporter -d -t simplecov after-build diff --git a/.github/workflows/gem-push.yml b/.github/workflows/gem-push.yml new file mode 100644 index 0000000..5aab324 --- /dev/null +++ b/.github/workflows/gem-push.yml @@ -0,0 +1,47 @@ +name: Push to Rubygems + +on: + push: + branches: [master] + pull_request: + branches: [master] + +jobs: + build: + name: Build + Publish + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - uses: actions/checkout@v2 + - name: Set up Ruby 2.7 + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.7.x + + - name: Publish to GPR + if: ${{ env.PUBLISH_TO_REGISTRY != 0 }} + run: | + mkdir -p $HOME/.gem + touch $HOME/.gem/credentials + chmod 0600 $HOME/.gem/credentials + printf -- "---\n:github: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials + gem build *.gemspec + gem push --KEY github --host https://rubygems.pkg.github.com/${OWNER} *.gem + env: + GEM_HOST_API_KEY: "Bearer ${{secrets.GPR_TOKEN}}" + OWNER: ${{ github.repository_owner }} + + - name: Publish to RubyGems + if: ${{ env.PUBLISH_TO_REGISTRY != 0 }} + run: | + mkdir -p $HOME/.gem + touch $HOME/.gem/credentials + chmod 0600 $HOME/.gem/credentials + printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials + gem build *.gemspec + gem push *.gem + env: + GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}" diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..23b596e --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,25 @@ +name: Test + +on: + - push + - pull_request + +jobs: + test: + runs-on: ubuntu-latest + strategy: + matrix: + ruby-version: ['2.6', '2.7', '3.0'] + + steps: + - uses: actions/checkout@v2 + - name: Set up Ruby + uses: ruby/setup-ruby@473e4d8fe5dd94ee328fdfca9f8c9c7afc9dae5e + with: + ruby-version: ${{ matrix.ruby-version }} + bundler-cache: true # runs 'bundle install' and caches installed gems automatically + - name: Run tests + env: + API_KEY: "${{secrets.API_KEY}}" + DYNAMIC_LINK_DOMAIN: "${{ secrets.DYNAMIC_LINK_DOMAIN }}" + run: bundle exec appraisal bundle install && bundle exec appraisal rspec \ No newline at end of file diff --git a/.gitignore b/.gitignore index 41745ee..c328a61 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,5 @@ spec/fixtures/vcr_cassettes/ coverage doc Gemfile.lock +.env +.secrets diff --git a/.rubocop.yml b/.rubocop.yml index 0226abe..a3f37bb 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,146 +1 @@ -Metrics/BlockLength: - Exclude: - - 'Rakefile' - - '**/*.rake' - - 'spec/**/*.rb' - -# Prefer &&/|| over and/or. -Style/AndOr: - Enabled: true - -# Do not use braces for hash literals when they are the last argument of a -# method call. -Style/BracesAroundHashParameters: - Enabled: true - EnforcedStyle: context_dependent - -# Align `when` with `case`. -Layout/CaseIndentation: - Enabled: true - -# Align comments with method definitions. -Layout/CommentIndentation: - Enabled: true - -Layout/ElseAlignment: - Enabled: true - -# Align `end` with the matching keyword or starting expression except for -# assignments, where it should be aligned with the LHS. -Layout/EndAlignment: - Enabled: true - EnforcedStyleAlignWith: variable - AutoCorrect: true - -Layout/EmptyLineAfterMagicComment: - Enabled: true - -# In a regular class definition, no empty lines around the body. -Layout/EmptyLinesAroundClassBody: - Enabled: true - -# In a regular method definition, no empty lines around the body. -Layout/EmptyLinesAroundMethodBody: - Enabled: true - -# In a regular module definition, no empty lines around the body. -Layout/EmptyLinesAroundModuleBody: - Enabled: true - -Layout/FirstParameterIndentation: - Enabled: true - -# Use Ruby >= 1.9 syntax for hashes. Prefer { a: :b } over { :a => :b }. -Style/HashSyntax: - Enabled: true - -# Two spaces, no tabs (for indentation). -Layout/IndentationWidth: - Enabled: true - -Layout/LeadingCommentSpace: - Enabled: true - -Layout/SpaceAfterColon: - Enabled: true - -Layout/SpaceAfterComma: - Enabled: true - -Layout/SpaceAroundEqualsInParameterDefault: - Enabled: true - -Layout/SpaceAroundKeyword: - Enabled: true - -Layout/SpaceAroundOperators: - Enabled: true - -Layout/SpaceBeforeComma: - Enabled: true - -Layout/SpaceBeforeFirstArg: - Enabled: true - -Style/DefWithParentheses: - Enabled: true - -# Defining a method with parameters needs parentheses. -Style/MethodDefParentheses: - Enabled: true - -Style/FrozenStringLiteralComment: - Enabled: true - EnforcedStyle: always - -# Use `foo {}` not `foo{}`. -Layout/SpaceBeforeBlockBraces: - Enabled: true - -# Use `foo { bar }` not `foo {bar}`. -Layout/SpaceInsideBlockBraces: - Enabled: true - -# Use `{ a: 1 }` not `{a:1}`. -Layout/SpaceInsideHashLiteralBraces: - Enabled: true - -Layout/SpaceInsideParens: - Enabled: true - -# Check quotes usage according to lint rule below. -Style/StringLiterals: - Enabled: true - EnforcedStyle: double_quotes - -# Detect hard tabs, no hard tabs. -Layout/Tab: - Enabled: true - -# Blank lines should not have any spaces. -Layout/TrailingBlankLines: - Enabled: true - -# No trailing whitespace. -Layout/TrailingWhitespace: - Enabled: true - -# Use quotes for string literals when they are enough. -Style/UnneededPercentQ: - Enabled: true - -# Use my_method(my_arg) not my_method( my_arg ) or my_method my_arg. -Lint/RequireParentheses: - Enabled: true - -Style/RedundantReturn: - Enabled: true - AllowMultipleReturnValues: true - -Style/Semicolon: - Enabled: true - AllowAsExpressionSeparator: true - -# Prefer Foo.method over Foo::method -Style/ColonMethodCall: - Enabled: true +require: rubocop-rspec diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index e307131..0000000 --- a/.travis.yml +++ /dev/null @@ -1,24 +0,0 @@ -language: ruby -rvm: - - 2.3 - - 2.4 - - 2.5 - - 2.6 -gemfile: - - gemfiles/version_2018.gemfile - - gemfiles/version_2017b.gemfile - - gemfiles/version_2017a.gemfile - - gemfiles/version_2020.gemfile -env: - global: - - CC_TEST_REPORTER_ID=22b531be7956bd878ec8ce211da98c483c9724eebc8eb72f99d064f00aa6e985 -before_script: - - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter - - chmod +x ./cc-test-reporter - - ./cc-test-reporter before-build -script: - - COVERAGE=1 bundle exec rspec -after_script: - - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT -before_install: - - gem install bundler diff --git a/Appraisals b/Appraisals index a3a3f74..fbbddc6 100644 --- a/Appraisals +++ b/Appraisals @@ -1,21 +1,81 @@ # frozen_string_literal: true -appraise "version-2018" do - gem "dry-configurable", "0.7.0" - gem "faraday", "0.14.0" +appraise 'faraday-0.16-dry-0.9' do + gem 'dry-configurable', '0.9.0' + gem 'faraday', '0.16.2' end -appraise "version-2017b" do - gem "dry-configurable", "0.6.0" - gem "faraday", "0.11.0" +appraise 'faraday-0.17-dry-0.9' do + gem 'dry-configurable', '0.9.0' + gem 'faraday', '0.17.4' end -appraise "version-2017a" do - gem "dry-configurable", "0.6.0" - gem "faraday", "0.10.1" +appraise 'faraday-1.8.0-dry-0.9' do + gem 'dry-configurable', '0.9.0' + gem 'faraday', '1.8.0' end -appraise "version-2020" do - gem "dry-configurable", "0.11.6" - gem "faraday", "1.0.1" +appraise 'faraday-2.0.0-dry-0.9' do + gem 'dry-configurable', '0.9.0' + gem 'faraday', '2.0.0.alpha.pre.3' +end + +appraise 'faraday-0.16-dry-0.11' do + gem 'dry-configurable', '0.11.6' + gem 'faraday', '0.16.2' +end + +appraise 'faraday-0.17-dry-0.11' do + gem 'dry-configurable', '0.11.6' + gem 'faraday', '0.17.4' +end + +appraise 'faraday-1.8.0-dry-0.11' do + gem 'dry-configurable', '0.11.6' + gem 'faraday', '1.8.0' +end + +appraise 'faraday-2.0.0-dry-0.11' do + gem 'dry-configurable', '0.11.6' + gem 'faraday', '2.0.0.alpha.pre.3' +end + +appraise 'faraday-0.16-dry-0.12' do + gem 'dry-configurable', '0.12.1' + gem 'faraday', '0.16.2' +end + +appraise 'faraday-0.17-dry-0.12' do + gem 'dry-configurable', '0.12.1' + gem 'faraday', '0.17.4' +end + +appraise 'faraday-1.8.0-dry-0.12' do + gem 'dry-configurable', '0.12.1' + gem 'faraday', '1.8.0' +end + +appraise 'faraday-2.0.0-dry-0.12' do + gem 'dry-configurable', '0.12.1' + gem 'faraday', '2.0.0.alpha.pre.3' +end + +appraise 'faraday-0.16-dry-0.13' do + gem 'dry-configurable', '0.13.0' + gem 'faraday', '0.16.2' +end + +appraise 'faraday-0.17-dry-0.13' do + gem 'dry-configurable', '0.13.0' + gem 'faraday', '0.17.4' +end + +appraise 'faraday-1.8.0-dry-0.13' do + gem 'dry-configurable', '0.13.0' + gem 'faraday', '1.8.0' +end + +appraise 'faraday-2.0.0-dry-0.13' do + gem 'dry-configurable', '0.13.0' + gem 'faraday', '2.0.0.alpha.pre.3' end diff --git a/Gemfile b/Gemfile index 4079423..dc87a36 100644 --- a/Gemfile +++ b/Gemfile @@ -1,6 +1,6 @@ # frozen_string_literal: true -source "https://rubygems.org" +source 'https://rubygems.org' git_source(:github) { |repo_name| "https://github.com/#{repo_name}" } diff --git a/Guardfile b/Guardfile index 3215f01..fa02737 100644 --- a/Guardfile +++ b/Guardfile @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # A sample Guardfile # More info at https://github.com/guard/guard#readme @@ -15,7 +17,7 @@ # # and, you'll have to watch "config/Guardfile" instead of "Guardfile" -# Note: The cmd option is now required due to the increasing number of ways +# NOTE: The cmd option is now required due to the increasing number of ways # rspec may be run, below are examples of the most common uses. # * bundler: 'bundle exec rspec' # * bundler binstubs: 'bin/rspec' @@ -24,8 +26,8 @@ # * zeus: 'zeus rspec' (requires the server to be started separately) # * 'just' rspec: 'rspec' -guard :rspec, cmd: "bundle exec rspec" do - require "guard/rspec/dsl" +guard :rspec, cmd: 'bundle exec rspec' do + require 'guard/rspec/dsl' dsl = Guard::RSpec::Dsl.new(self) # Feel free to open issues for suggestions and improvements @@ -41,7 +43,7 @@ guard :rspec, cmd: "bundle exec rspec" do dsl.watch_spec_files_for(ruby.lib_files) # Rails files - rails = dsl.rails(view_extensions: %w(erb haml slim)) + rails = dsl.rails(view_extensions: %w[erb haml slim]) dsl.watch_spec_files_for(rails.app_files) dsl.watch_spec_files_for(rails.views) @@ -65,6 +67,6 @@ guard :rspec, cmd: "bundle exec rspec" do # Turnip features and steps watch(%r{^spec/acceptance/(.+)\.feature$}) watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) do |m| - Dir[File.join("**/#{m[1]}.feature")][0] || "spec/acceptance" + Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' end end diff --git a/README.md b/README.md index a7b369d..bd6187a 100644 --- a/README.md +++ b/README.md @@ -1,37 +1,35 @@ +[![Maintainability](https://api.codeclimate.com/v1/badges/0e2629515335c72ef80d/maintainability)](https://codeclimate.com/github/saiqulhaq/firebase_dynamic_link/maintainability) +[![Audit](https://github.com/saiqulhaq/firebase_dynamic_link/actions/workflows/audit.yml/badge.svg)](https://github.com/saiqulhaq/firebase_dynamic_link/actions/workflows/audit.yml) +[![Test](https://github.com/saiqulhaq/firebase_dynamic_link/actions/workflows/test.yml/badge.svg)](https://github.com/saiqulhaq/firebase_dynamic_link/actions/workflows/test.yml) +[![Test Coverage](https://api.codeclimate.com/v1/badges/0e2629515335c72ef80d/test_coverage)](https://codeclimate.com/github/saiqulhaq/firebase_dynamic_link/test_coverage) - - -+ [FirebaseDynamicLink](#firebasedynamiclink) - - [Information](#information) - * [Installation](#installation) - * [Usage](#usage) - - [Configure the HTTP client](#configure-the-http-client) - - [Shorten a link](#shorten-a-link) - - [Shorten parameters](#shorten-parameters) - * [CHANGES](#changes) - * [Development](#development) - * [Contributing](#contributing) - * [License](#license) - * [Code of Conduct](#code-of-conduct) - - +Firebase Dynamic Link is a tool to create a deep link of your webpage. It can be a tool to create a short link like Bit.ly too -# FirebaseDynamicLink +- [Setup](#setup) +- [Installation](#installation) +- [Usage](#usage) + - [Configure the HTTP client](#configure-the-http-client) + - [Shorten a link](#shorten-a-link) + - [Shorten parameters](#shorten-parameters) +- [CHANGELOG](#changelog) + - [V1.0.5](#v105) + - [V1.0.3](#v103) +- [Development](#development) +- [Contributing](#contributing) +- [License](#license) +- [Code of Conduct](#code-of-conduct) -[![Build Status](https://travis-ci.org/saiqulhaq/firebase_dynamic_link.svg?branch=master)](https://travis-ci.org/saiqulhaq/firebase_dynamic_link) -[![Maintainability](https://api.codeclimate.com/v1/badges/0e2629515335c72ef80d/maintainability)](https://codeclimate.com/github/saiqulhaq/firebase_dynamic_link/maintainability) -[![Test Coverage](https://api.codeclimate.com/v1/badges/0e2629515335c72ef80d/test_coverage)](https://codeclimate.com/github/saiqulhaq/firebase_dynamic_link/test_coverage) -[![Gem Version](https://badge.fury.io/rb/firebase_dynamic_link.svg)](https://badge.fury.io/rb/firebase_dynamic_link) -Opinionated Ruby Firebase Dynamic Links Short Links client +## Setup -Based on reference https://firebase.google.com/docs/reference/dynamic-links/link-shortener +Before you begin, you need to register at Firebase, and find following data: +1. Firebase API key -This library is considered complete and in maintenance mode. New features will be added if Firebase Dynamic Links released new updates + Open Open the Settings page of the Firebase console. If you are prompted to choose a project, select your Firebase project from the menu. The API key is a Web API Key field, you need to a note this key. +2. Dynamic Links domain -### Information -Travis CI build is failing because dry-configurable v0.11 is not compatible with -Ruby 2.3. However Bundler will install lower version if your ruby is 2.3. So there is nothing to worry about + In the Firebase console, open the Dynamic Links section, accept the terms of service if prompted, and copy the dynamic links host. + Usually it's like `https://xxx.page.link`. You can use your own custom domain to make it shorter. Reference: https://firebase.google.com/docs/dynamic-links/custom-domains ## Installation @@ -56,10 +54,10 @@ Or install it yourself as: # the adapter should be supported by Faraday # more info look at https://github.com/lostisland/faraday/tree/master/test/adapters # Faraday.default_adapter is the default adapter - config.adapter = :httpclient + config.adapter = :httpclient # optional, default is net_http # required - config.api_key = 'API_KEY' + config.api_key = 'API_KEY' # required # default 'UNGUESSABLE' config.suffix_option = 'SHORT' or 'UNGUESSABLE' @@ -68,7 +66,7 @@ Or install it yourself as: config.dynamic_link_domain = 'https://xyz.app.goo.gl' # default 3 seconds - config.timeout = 3 + config.timeout = 3 # default 3 seconds config.open_timeout = 3 @@ -77,21 +75,21 @@ Or install it yourself as: ### Shorten a link This method shortens a link with up to the first parameter in tact. Use this method if you do not have more than one -parameter in the URL. Shortening an URL with more than one parameters will result in truncation of parameters after the +parameter in the URL. Shortening an URL with more than one parameters will result in truncation of parameters after the first one. ```ruby client = FirebaseDynamicLink::Client.new link = "http://domain.com/path/path" options = { - # optional, to override default suffix default config - suffix_option: '', + # optional, to override default suffix default config + suffix_option: '', # optional, to override default dynamic_link_domain default config - dynamic_link_domain: '', + dynamic_link_domain: '', # optional, timeout of each request of this instance - timeout: 10, + timeout: 10, # optional, open timeout of each request of this instance open_timeout: 10 @@ -102,20 +100,20 @@ first one. ``` ### Shorten parameters -This method allows shortening of an URL with multiple parameters. +This method allows shortening of an URL with multiple parameters. ```ruby client = FirebaseDynamicLink::Client.new link = "http://domain.com/path/path?key1=value1&key2=val2&key3=val3" options = { - # optional, to override default suffix default config - suffix_option: '', + # optional, to override default suffix default config + suffix_option: '', # optional, to override default dynamic_link_domain default config - dynamic_link_domain: '', + dynamic_link_domain: '', # optional, timeout of each request of this instance - timeout: 10, + timeout: 10, # optional, open timeout of each request of this instance open_timeout: 10 @@ -141,17 +139,17 @@ If request successful, then the result should be like following hash object Or if the request reached daily quota, client will throw `FirebaseDynamicLink::QuotaExceeded` error ```ruby - { - :link=>"https://--.app.goo.gl/ukph", - :preview_link=>"https://--.app.goo.gl/ukph?d=1", + { + :link=>"https://--.app.goo.gl/ukph", + :preview_link=>"https://--.app.goo.gl/ukph?d=1", :warning=>[ - { + { "warningCode"=>"UNRECOGNIZED_PARAM", "warningMessage"=>"..." - }, + }, { "warningCode"=>"..." - }, + }, { "warningCode"=>"..." } @@ -161,16 +159,22 @@ Or if the request reached daily quota, client will throw `FirebaseDynamicLink::Q Otherwise it will throw `FirebaseDynamicLink::ConnectionError` error, with message = http error message -## CHANGES +## CHANGELOG + +### V1.0.5 -VERSION: +* Update minimum ruby version from 2.6 to 3.0 +* Update Dry-configurable minimum version to 0.9 +* Update Faraday version from v0.16 upto v2.0.0 -* 1.0.3 - Update Dry-configurable dependencies to version 0.6.0 +### V1.0.3 +Update Dry-configurable dependencies to version 0.6.0 ## Development -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. +After checking out the repo, run `bin/setup` to install dependencies. +Copy `.env.template` to `.env` and update the values. +Then, run `bundle exec appraisal install && bundle exec appraisal rspec` to run the tests. 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). diff --git a/Rakefile b/Rakefile index b6ae734..82bb534 100644 --- a/Rakefile +++ b/Rakefile @@ -1,7 +1,7 @@ # frozen_string_literal: true -require "bundler/gem_tasks" -require "rspec/core/rake_task" +require 'bundler/gem_tasks' +require 'rspec/core/rake_task' RSpec::Core::RakeTask.new(:spec) diff --git a/bin/bundle-audit b/bin/bundle-audit new file mode 100755 index 0000000..8633c99 --- /dev/null +++ b/bin/bundle-audit @@ -0,0 +1,29 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true + +# +# This file was generated by Bundler. +# +# The application 'bundle-audit' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +require 'pathname' +ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', + Pathname.new(__FILE__).realpath) + +bundle_binstub = File.expand_path('bundle', __dir__) + +if File.file?(bundle_binstub) + if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/ + load(bundle_binstub) + else + abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run. +Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.") + end +end + +require 'rubygems' +require 'bundler/setup' + +load Gem.bin_path('bundler-audit', 'bundle-audit') diff --git a/bin/bundler-audit b/bin/bundler-audit new file mode 100755 index 0000000..b2229de --- /dev/null +++ b/bin/bundler-audit @@ -0,0 +1,29 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true + +# +# This file was generated by Bundler. +# +# The application 'bundler-audit' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +require 'pathname' +ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', + Pathname.new(__FILE__).realpath) + +bundle_binstub = File.expand_path('bundle', __dir__) + +if File.file?(bundle_binstub) + if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/ + load(bundle_binstub) + else + abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run. +Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.") + end +end + +require 'rubygems' +require 'bundler/setup' + +load Gem.bin_path('bundler-audit', 'bundler-audit') diff --git a/bin/console b/bin/console index c56e852..1a30e04 100755 --- a/bin/console +++ b/bin/console @@ -1,8 +1,8 @@ #!/usr/bin/env ruby # frozen_string_literal: true -require "bundler/setup" -require "firebase_dynamic_link" +require 'bundler/setup' +require 'firebase_dynamic_link' # You can add fixtures and/or initialization code here to make experimenting # with your gem easier. You can also use a different console, if you like. @@ -11,5 +11,5 @@ require "firebase_dynamic_link" # require "pry" # Pry.start -require "irb" +require 'irb' IRB.start(__FILE__) diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..5703ddf --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,9 @@ +version: '2' + +services: + app: + tty: true # Enables debugging capabilities when attached to this container. + image: bitnami/ruby:3.0 + # command: "sh -c 'bundle install && bundle exec rspec'" + volumes: + - .:/app # docker run -it --name ruby bitnami/ruby:2.7-prod diff --git a/firebase_dynamic_link.gemspec b/firebase_dynamic_link.gemspec index 99327de..f971aa8 100644 --- a/firebase_dynamic_link.gemspec +++ b/firebase_dynamic_link.gemspec @@ -1,40 +1,43 @@ - # frozen_string_literal: true -lib = File.expand_path("lib", __dir__) +lib = File.expand_path('lib', __dir__) $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) -require "firebase_dynamic_link/version" +require 'firebase_dynamic_link/version' Gem::Specification.new do |spec| - spec.name = "firebase_dynamic_link" + spec.name = 'firebase_dynamic_link' spec.version = FirebaseDynamicLink::VERSION - spec.authors = ["M Saiqul Haq"] - spec.email = ["saiqulhaq@gmail.com"] + spec.authors = ['M Saiqul Haq'] + spec.email = ['saiqulhaq@gmail.com'] - spec.summary = "Ruby client for Firebase Dynamic Link service" - spec.description = spec.summary - spec.homepage = "https://github.com/saiqulhaq/firebase_dynamic_link" - spec.license = "MIT" - spec.metadata["yard.run"] = "yri" + spec.summary = 'Create a short link or deep link' + spec.description = 'Create deep link for web and mobile app using Firebase Dynamic Links service' + spec.homepage = 'https://github.com/saiqulhaq/firebase_dynamic_link' + spec.license = 'MIT' + spec.metadata['yard.run'] = 'yri' spec.files = `git ls-files -z`.split("\x0").reject do |f| f.match(%r{^(test|spec|features)/}) end - spec.bindir = "exe" + spec.bindir = 'exe' spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } - spec.require_paths = ["lib"] + spec.require_paths = ['lib'] - spec.add_runtime_dependency "dry-configurable", ">= 0.6", "< 1.0" - spec.add_runtime_dependency "faraday", ">= 0.9", "< 2.0" - spec.add_runtime_dependency "case_transform2", ">= 1.0", "< 2.0" + spec.add_runtime_dependency 'case_transform2', '>= 1.0', '< 2.0' + spec.add_runtime_dependency 'dry-configurable', '>= 0.9', '< 1.0' + spec.add_runtime_dependency 'faraday', '>= 0.16', '< 3.0' + spec.add_runtime_dependency 'faraday-net_http', '>= 1.0', '< 2.0' - spec.add_development_dependency "appraisal", "~> 2.2.0" - spec.add_development_dependency "bootsnap", "~> 1.3.0" - spec.add_development_dependency "bundler", "~> 2.0" - spec.add_development_dependency "dotenv", "~> 2.2", ">= 2.2.2" - spec.add_development_dependency "pry", "~> 0.11.3" - spec.add_development_dependency "rake", ">= 12.3.3" - spec.add_development_dependency "rspec", "~> 3.0" - spec.add_development_dependency "simplecov", ">= 0.16.1" - spec.add_development_dependency "vcr", "~> 4.0", ">= 4.0.0" + spec.add_development_dependency 'appraisal', '~> 2.4.1' + spec.add_development_dependency 'bootsnap', '~> 1.9.3' + spec.add_development_dependency 'bundle-audit', '~> 0.1.0' + spec.add_development_dependency 'bundler', '>= 2.0' + spec.add_development_dependency 'dotenv', '~> 2.2', '>= 2.2.2' + spec.add_development_dependency 'pry', '~> 0.14.1' + spec.add_development_dependency 'rake', '>= 12.3.3' + spec.add_development_dependency 'rspec', '~> 3.10.0' + spec.add_development_dependency 'rubocop', '~> 1.22' + spec.add_development_dependency 'rubocop-rspec', '~> 2.5.0' + spec.add_development_dependency 'simplecov', '~> 0.17.1' + spec.add_development_dependency 'vcr', '~> 4.0', '>= 4.0.0' end diff --git a/gemfiles/faraday_0.16_dry_0.11.gemfile b/gemfiles/faraday_0.16_dry_0.11.gemfile new file mode 100644 index 0000000..7dbc5d5 --- /dev/null +++ b/gemfiles/faraday_0.16_dry_0.11.gemfile @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +# This file was generated by Appraisal + +source 'https://rubygems.org' + +gem 'dry-configurable', '0.11.6' +gem 'faraday', '0.16.2' + +gemspec path: '../' diff --git a/gemfiles/faraday_0.16_dry_0.11.gemfile.lock b/gemfiles/faraday_0.16_dry_0.11.gemfile.lock new file mode 100644 index 0000000..82dc1d9 --- /dev/null +++ b/gemfiles/faraday_0.16_dry_0.11.gemfile.lock @@ -0,0 +1,82 @@ +PATH + remote: .. + specs: + firebase_dynamic_link (1.0.4) + case_transform2 (>= 1.0, < 2.0) + dry-configurable (>= 0.6, < 1.0) + faraday (>= 0.16, < 3.0) + faraday-net_http (>= 1.0, < 2.0) + +GEM + remote: https://rubygems.org/ + specs: + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + bootsnap (1.9.3) + msgpack (~> 1.0) + case_transform2 (1.1.1) + coderay (1.1.3) + concurrent-ruby (1.1.9) + diff-lcs (1.4.4) + docile (1.4.0) + dotenv (2.7.6) + dry-configurable (0.11.6) + concurrent-ruby (~> 1.0) + dry-core (~> 0.4, >= 0.4.7) + dry-equalizer (~> 0.2) + dry-core (0.7.1) + concurrent-ruby (~> 1.0) + dry-equalizer (0.3.0) + faraday (0.16.2) + multipart-post (>= 1.2, < 3) + faraday-net_http (1.0.1) + method_source (1.0.0) + msgpack (1.4.2) + multipart-post (2.1.1) + pry (0.14.1) + coderay (~> 1.1) + method_source (~> 1.0) + rake (13.0.6) + rspec (3.10.0) + rspec-core (~> 3.10.0) + rspec-expectations (~> 3.10.0) + rspec-mocks (~> 3.10.0) + rspec-core (3.10.1) + rspec-support (~> 3.10.0) + rspec-expectations (3.10.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-mocks (3.10.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-support (3.10.3) + simplecov (0.21.2) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + simplecov-html (0.12.3) + simplecov_json_formatter (0.1.3) + thor (1.1.0) + vcr (4.0.0) + +PLATFORMS + x86_64-linux + +DEPENDENCIES + appraisal (~> 2.4.1) + bootsnap (~> 1.9.3) + bundler (>= 2.0) + dotenv (~> 2.2, >= 2.2.2) + dry-configurable (= 0.11.6) + faraday (= 0.16.2) + firebase_dynamic_link! + pry (~> 0.14.1) + rake (>= 12.3.3) + rspec (~> 3.10.0) + simplecov (>= 0.16.1) + vcr (~> 4.0, >= 4.0.0) + +BUNDLED WITH + 2.2.32 diff --git a/gemfiles/faraday_0.16_dry_0.12.gemfile b/gemfiles/faraday_0.16_dry_0.12.gemfile new file mode 100644 index 0000000..dc66f23 --- /dev/null +++ b/gemfiles/faraday_0.16_dry_0.12.gemfile @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +# This file was generated by Appraisal + +source 'https://rubygems.org' + +gem 'dry-configurable', '0.12.1' +gem 'faraday', '0.16.2' + +gemspec path: '../' diff --git a/gemfiles/faraday_0.16_dry_0.12.gemfile.lock b/gemfiles/faraday_0.16_dry_0.12.gemfile.lock new file mode 100644 index 0000000..3f762bc --- /dev/null +++ b/gemfiles/faraday_0.16_dry_0.12.gemfile.lock @@ -0,0 +1,80 @@ +PATH + remote: .. + specs: + firebase_dynamic_link (1.0.4) + case_transform2 (>= 1.0, < 2.0) + dry-configurable (>= 0.6, < 1.0) + faraday (>= 0.16, < 3.0) + faraday-net_http (>= 1.0, < 2.0) + +GEM + remote: https://rubygems.org/ + specs: + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + bootsnap (1.9.3) + msgpack (~> 1.0) + case_transform2 (1.1.1) + coderay (1.1.3) + concurrent-ruby (1.1.9) + diff-lcs (1.4.4) + docile (1.4.0) + dotenv (2.7.6) + dry-configurable (0.12.1) + concurrent-ruby (~> 1.0) + dry-core (~> 0.5, >= 0.5.0) + dry-core (0.7.1) + concurrent-ruby (~> 1.0) + faraday (0.16.2) + multipart-post (>= 1.2, < 3) + faraday-net_http (1.0.1) + method_source (1.0.0) + msgpack (1.4.2) + multipart-post (2.1.1) + pry (0.14.1) + coderay (~> 1.1) + method_source (~> 1.0) + rake (13.0.6) + rspec (3.10.0) + rspec-core (~> 3.10.0) + rspec-expectations (~> 3.10.0) + rspec-mocks (~> 3.10.0) + rspec-core (3.10.1) + rspec-support (~> 3.10.0) + rspec-expectations (3.10.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-mocks (3.10.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-support (3.10.3) + simplecov (0.21.2) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + simplecov-html (0.12.3) + simplecov_json_formatter (0.1.3) + thor (1.1.0) + vcr (4.0.0) + +PLATFORMS + x86_64-linux + +DEPENDENCIES + appraisal (~> 2.4.1) + bootsnap (~> 1.9.3) + bundler (>= 2.0) + dotenv (~> 2.2, >= 2.2.2) + dry-configurable (= 0.12.1) + faraday (= 0.16.2) + firebase_dynamic_link! + pry (~> 0.14.1) + rake (>= 12.3.3) + rspec (~> 3.10.0) + simplecov (>= 0.16.1) + vcr (~> 4.0, >= 4.0.0) + +BUNDLED WITH + 2.2.32 diff --git a/gemfiles/faraday_0.16_dry_0.13.gemfile b/gemfiles/faraday_0.16_dry_0.13.gemfile new file mode 100644 index 0000000..a354c15 --- /dev/null +++ b/gemfiles/faraday_0.16_dry_0.13.gemfile @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +# This file was generated by Appraisal + +source 'https://rubygems.org' + +gem 'dry-configurable', '0.13.0' +gem 'faraday', '0.16.2' + +gemspec path: '../' diff --git a/gemfiles/faraday_0.16_dry_0.13.gemfile.lock b/gemfiles/faraday_0.16_dry_0.13.gemfile.lock new file mode 100644 index 0000000..85c11d0 --- /dev/null +++ b/gemfiles/faraday_0.16_dry_0.13.gemfile.lock @@ -0,0 +1,80 @@ +PATH + remote: .. + specs: + firebase_dynamic_link (1.0.4) + case_transform2 (>= 1.0, < 2.0) + dry-configurable (>= 0.6, < 1.0) + faraday (>= 0.16, < 3.0) + faraday-net_http (>= 1.0, < 2.0) + +GEM + remote: https://rubygems.org/ + specs: + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + bootsnap (1.9.3) + msgpack (~> 1.0) + case_transform2 (1.1.1) + coderay (1.1.3) + concurrent-ruby (1.1.9) + diff-lcs (1.4.4) + docile (1.4.0) + dotenv (2.7.6) + dry-configurable (0.13.0) + concurrent-ruby (~> 1.0) + dry-core (~> 0.6) + dry-core (0.7.1) + concurrent-ruby (~> 1.0) + faraday (0.16.2) + multipart-post (>= 1.2, < 3) + faraday-net_http (1.0.1) + method_source (1.0.0) + msgpack (1.4.2) + multipart-post (2.1.1) + pry (0.14.1) + coderay (~> 1.1) + method_source (~> 1.0) + rake (13.0.6) + rspec (3.10.0) + rspec-core (~> 3.10.0) + rspec-expectations (~> 3.10.0) + rspec-mocks (~> 3.10.0) + rspec-core (3.10.1) + rspec-support (~> 3.10.0) + rspec-expectations (3.10.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-mocks (3.10.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-support (3.10.3) + simplecov (0.21.2) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + simplecov-html (0.12.3) + simplecov_json_formatter (0.1.3) + thor (1.1.0) + vcr (4.0.0) + +PLATFORMS + x86_64-linux + +DEPENDENCIES + appraisal (~> 2.4.1) + bootsnap (~> 1.9.3) + bundler (>= 2.0) + dotenv (~> 2.2, >= 2.2.2) + dry-configurable (= 0.13.0) + faraday (= 0.16.2) + firebase_dynamic_link! + pry (~> 0.14.1) + rake (>= 12.3.3) + rspec (~> 3.10.0) + simplecov (>= 0.16.1) + vcr (~> 4.0, >= 4.0.0) + +BUNDLED WITH + 2.2.32 diff --git a/gemfiles/faraday_0.16_dry_0.9.gemfile b/gemfiles/faraday_0.16_dry_0.9.gemfile new file mode 100644 index 0000000..14efeb7 --- /dev/null +++ b/gemfiles/faraday_0.16_dry_0.9.gemfile @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +# This file was generated by Appraisal + +source 'https://rubygems.org' + +gem 'dry-configurable', '0.9.0' +gem 'faraday', '0.16.2' + +gemspec path: '../' diff --git a/gemfiles/faraday_0.16_dry_0.9.gemfile.lock b/gemfiles/faraday_0.16_dry_0.9.gemfile.lock new file mode 100644 index 0000000..dee12f4 --- /dev/null +++ b/gemfiles/faraday_0.16_dry_0.9.gemfile.lock @@ -0,0 +1,80 @@ +PATH + remote: .. + specs: + firebase_dynamic_link (1.0.4) + case_transform2 (>= 1.0, < 2.0) + dry-configurable (>= 0.6, < 1.0) + faraday (>= 0.16, < 3.0) + faraday-net_http (>= 1.0, < 2.0) + +GEM + remote: https://rubygems.org/ + specs: + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + bootsnap (1.9.3) + msgpack (~> 1.0) + case_transform2 (1.1.1) + coderay (1.1.3) + concurrent-ruby (1.1.9) + diff-lcs (1.4.4) + docile (1.4.0) + dotenv (2.7.6) + dry-configurable (0.9.0) + concurrent-ruby (~> 1.0) + dry-core (~> 0.4, >= 0.4.7) + dry-core (0.7.1) + concurrent-ruby (~> 1.0) + faraday (0.16.2) + multipart-post (>= 1.2, < 3) + faraday-net_http (1.0.1) + method_source (1.0.0) + msgpack (1.4.2) + multipart-post (2.1.1) + pry (0.14.1) + coderay (~> 1.1) + method_source (~> 1.0) + rake (13.0.6) + rspec (3.10.0) + rspec-core (~> 3.10.0) + rspec-expectations (~> 3.10.0) + rspec-mocks (~> 3.10.0) + rspec-core (3.10.1) + rspec-support (~> 3.10.0) + rspec-expectations (3.10.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-mocks (3.10.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-support (3.10.3) + simplecov (0.21.2) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + simplecov-html (0.12.3) + simplecov_json_formatter (0.1.3) + thor (1.1.0) + vcr (4.0.0) + +PLATFORMS + x86_64-linux + +DEPENDENCIES + appraisal (~> 2.4.1) + bootsnap (~> 1.9.3) + bundler (>= 2.0) + dotenv (~> 2.2, >= 2.2.2) + dry-configurable (= 0.9.0) + faraday (= 0.16.2) + firebase_dynamic_link! + pry (~> 0.14.1) + rake (>= 12.3.3) + rspec (~> 3.10.0) + simplecov (>= 0.16.1) + vcr (~> 4.0, >= 4.0.0) + +BUNDLED WITH + 2.2.32 diff --git a/gemfiles/faraday_0.17_dry_0.11.gemfile b/gemfiles/faraday_0.17_dry_0.11.gemfile new file mode 100644 index 0000000..e0397ca --- /dev/null +++ b/gemfiles/faraday_0.17_dry_0.11.gemfile @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +# This file was generated by Appraisal + +source 'https://rubygems.org' + +gem 'dry-configurable', '0.11.6' +gem 'faraday', '0.17.4' + +gemspec path: '../' diff --git a/gemfiles/faraday_0.17_dry_0.11.gemfile.lock b/gemfiles/faraday_0.17_dry_0.11.gemfile.lock new file mode 100644 index 0000000..4ad6f09 --- /dev/null +++ b/gemfiles/faraday_0.17_dry_0.11.gemfile.lock @@ -0,0 +1,82 @@ +PATH + remote: .. + specs: + firebase_dynamic_link (1.0.4) + case_transform2 (>= 1.0, < 2.0) + dry-configurable (>= 0.6, < 1.0) + faraday (>= 0.16, < 3.0) + faraday-net_http (>= 1.0, < 2.0) + +GEM + remote: https://rubygems.org/ + specs: + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + bootsnap (1.9.3) + msgpack (~> 1.0) + case_transform2 (1.1.1) + coderay (1.1.3) + concurrent-ruby (1.1.9) + diff-lcs (1.4.4) + docile (1.4.0) + dotenv (2.7.6) + dry-configurable (0.11.6) + concurrent-ruby (~> 1.0) + dry-core (~> 0.4, >= 0.4.7) + dry-equalizer (~> 0.2) + dry-core (0.7.1) + concurrent-ruby (~> 1.0) + dry-equalizer (0.3.0) + faraday (0.17.4) + multipart-post (>= 1.2, < 3) + faraday-net_http (1.0.1) + method_source (1.0.0) + msgpack (1.4.2) + multipart-post (2.1.1) + pry (0.14.1) + coderay (~> 1.1) + method_source (~> 1.0) + rake (13.0.6) + rspec (3.10.0) + rspec-core (~> 3.10.0) + rspec-expectations (~> 3.10.0) + rspec-mocks (~> 3.10.0) + rspec-core (3.10.1) + rspec-support (~> 3.10.0) + rspec-expectations (3.10.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-mocks (3.10.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-support (3.10.3) + simplecov (0.21.2) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + simplecov-html (0.12.3) + simplecov_json_formatter (0.1.3) + thor (1.1.0) + vcr (4.0.0) + +PLATFORMS + x86_64-linux + +DEPENDENCIES + appraisal (~> 2.4.1) + bootsnap (~> 1.9.3) + bundler (>= 2.0) + dotenv (~> 2.2, >= 2.2.2) + dry-configurable (= 0.11.6) + faraday (= 0.17.4) + firebase_dynamic_link! + pry (~> 0.14.1) + rake (>= 12.3.3) + rspec (~> 3.10.0) + simplecov (>= 0.16.1) + vcr (~> 4.0, >= 4.0.0) + +BUNDLED WITH + 2.2.32 diff --git a/gemfiles/faraday_0.17_dry_0.12.gemfile b/gemfiles/faraday_0.17_dry_0.12.gemfile new file mode 100644 index 0000000..2868a56 --- /dev/null +++ b/gemfiles/faraday_0.17_dry_0.12.gemfile @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +# This file was generated by Appraisal + +source 'https://rubygems.org' + +gem 'dry-configurable', '0.12.1' +gem 'faraday', '0.17.4' + +gemspec path: '../' diff --git a/gemfiles/faraday_0.17_dry_0.12.gemfile.lock b/gemfiles/faraday_0.17_dry_0.12.gemfile.lock new file mode 100644 index 0000000..21a6a81 --- /dev/null +++ b/gemfiles/faraday_0.17_dry_0.12.gemfile.lock @@ -0,0 +1,80 @@ +PATH + remote: .. + specs: + firebase_dynamic_link (1.0.4) + case_transform2 (>= 1.0, < 2.0) + dry-configurable (>= 0.6, < 1.0) + faraday (>= 0.16, < 3.0) + faraday-net_http (>= 1.0, < 2.0) + +GEM + remote: https://rubygems.org/ + specs: + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + bootsnap (1.9.3) + msgpack (~> 1.0) + case_transform2 (1.1.1) + coderay (1.1.3) + concurrent-ruby (1.1.9) + diff-lcs (1.4.4) + docile (1.4.0) + dotenv (2.7.6) + dry-configurable (0.12.1) + concurrent-ruby (~> 1.0) + dry-core (~> 0.5, >= 0.5.0) + dry-core (0.7.1) + concurrent-ruby (~> 1.0) + faraday (0.17.4) + multipart-post (>= 1.2, < 3) + faraday-net_http (1.0.1) + method_source (1.0.0) + msgpack (1.4.2) + multipart-post (2.1.1) + pry (0.14.1) + coderay (~> 1.1) + method_source (~> 1.0) + rake (13.0.6) + rspec (3.10.0) + rspec-core (~> 3.10.0) + rspec-expectations (~> 3.10.0) + rspec-mocks (~> 3.10.0) + rspec-core (3.10.1) + rspec-support (~> 3.10.0) + rspec-expectations (3.10.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-mocks (3.10.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-support (3.10.3) + simplecov (0.21.2) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + simplecov-html (0.12.3) + simplecov_json_formatter (0.1.3) + thor (1.1.0) + vcr (4.0.0) + +PLATFORMS + x86_64-linux + +DEPENDENCIES + appraisal (~> 2.4.1) + bootsnap (~> 1.9.3) + bundler (>= 2.0) + dotenv (~> 2.2, >= 2.2.2) + dry-configurable (= 0.12.1) + faraday (= 0.17.4) + firebase_dynamic_link! + pry (~> 0.14.1) + rake (>= 12.3.3) + rspec (~> 3.10.0) + simplecov (>= 0.16.1) + vcr (~> 4.0, >= 4.0.0) + +BUNDLED WITH + 2.2.32 diff --git a/gemfiles/faraday_0.17_dry_0.13.gemfile b/gemfiles/faraday_0.17_dry_0.13.gemfile new file mode 100644 index 0000000..b2cf6eb --- /dev/null +++ b/gemfiles/faraday_0.17_dry_0.13.gemfile @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +# This file was generated by Appraisal + +source 'https://rubygems.org' + +gem 'dry-configurable', '0.13.0' +gem 'faraday', '0.17.4' + +gemspec path: '../' diff --git a/gemfiles/faraday_0.17_dry_0.13.gemfile.lock b/gemfiles/faraday_0.17_dry_0.13.gemfile.lock new file mode 100644 index 0000000..ad9bfeb --- /dev/null +++ b/gemfiles/faraday_0.17_dry_0.13.gemfile.lock @@ -0,0 +1,80 @@ +PATH + remote: .. + specs: + firebase_dynamic_link (1.0.4) + case_transform2 (>= 1.0, < 2.0) + dry-configurable (>= 0.6, < 1.0) + faraday (>= 0.16, < 3.0) + faraday-net_http (>= 1.0, < 2.0) + +GEM + remote: https://rubygems.org/ + specs: + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + bootsnap (1.9.3) + msgpack (~> 1.0) + case_transform2 (1.1.1) + coderay (1.1.3) + concurrent-ruby (1.1.9) + diff-lcs (1.4.4) + docile (1.4.0) + dotenv (2.7.6) + dry-configurable (0.13.0) + concurrent-ruby (~> 1.0) + dry-core (~> 0.6) + dry-core (0.7.1) + concurrent-ruby (~> 1.0) + faraday (0.17.4) + multipart-post (>= 1.2, < 3) + faraday-net_http (1.0.1) + method_source (1.0.0) + msgpack (1.4.2) + multipart-post (2.1.1) + pry (0.14.1) + coderay (~> 1.1) + method_source (~> 1.0) + rake (13.0.6) + rspec (3.10.0) + rspec-core (~> 3.10.0) + rspec-expectations (~> 3.10.0) + rspec-mocks (~> 3.10.0) + rspec-core (3.10.1) + rspec-support (~> 3.10.0) + rspec-expectations (3.10.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-mocks (3.10.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-support (3.10.3) + simplecov (0.21.2) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + simplecov-html (0.12.3) + simplecov_json_formatter (0.1.3) + thor (1.1.0) + vcr (4.0.0) + +PLATFORMS + x86_64-linux + +DEPENDENCIES + appraisal (~> 2.4.1) + bootsnap (~> 1.9.3) + bundler (>= 2.0) + dotenv (~> 2.2, >= 2.2.2) + dry-configurable (= 0.13.0) + faraday (= 0.17.4) + firebase_dynamic_link! + pry (~> 0.14.1) + rake (>= 12.3.3) + rspec (~> 3.10.0) + simplecov (>= 0.16.1) + vcr (~> 4.0, >= 4.0.0) + +BUNDLED WITH + 2.2.32 diff --git a/gemfiles/faraday_0.17_dry_0.9.gemfile b/gemfiles/faraday_0.17_dry_0.9.gemfile new file mode 100644 index 0000000..c6bfe15 --- /dev/null +++ b/gemfiles/faraday_0.17_dry_0.9.gemfile @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +# This file was generated by Appraisal + +source 'https://rubygems.org' + +gem 'dry-configurable', '0.9.0' +gem 'faraday', '0.17.4' + +gemspec path: '../' diff --git a/gemfiles/faraday_0.17_dry_0.9.gemfile.lock b/gemfiles/faraday_0.17_dry_0.9.gemfile.lock new file mode 100644 index 0000000..f2d7239 --- /dev/null +++ b/gemfiles/faraday_0.17_dry_0.9.gemfile.lock @@ -0,0 +1,80 @@ +PATH + remote: .. + specs: + firebase_dynamic_link (1.0.4) + case_transform2 (>= 1.0, < 2.0) + dry-configurable (>= 0.6, < 1.0) + faraday (>= 0.16, < 3.0) + faraday-net_http (>= 1.0, < 2.0) + +GEM + remote: https://rubygems.org/ + specs: + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + bootsnap (1.9.3) + msgpack (~> 1.0) + case_transform2 (1.1.1) + coderay (1.1.3) + concurrent-ruby (1.1.9) + diff-lcs (1.4.4) + docile (1.4.0) + dotenv (2.7.6) + dry-configurable (0.9.0) + concurrent-ruby (~> 1.0) + dry-core (~> 0.4, >= 0.4.7) + dry-core (0.7.1) + concurrent-ruby (~> 1.0) + faraday (0.17.4) + multipart-post (>= 1.2, < 3) + faraday-net_http (1.0.1) + method_source (1.0.0) + msgpack (1.4.2) + multipart-post (2.1.1) + pry (0.14.1) + coderay (~> 1.1) + method_source (~> 1.0) + rake (13.0.6) + rspec (3.10.0) + rspec-core (~> 3.10.0) + rspec-expectations (~> 3.10.0) + rspec-mocks (~> 3.10.0) + rspec-core (3.10.1) + rspec-support (~> 3.10.0) + rspec-expectations (3.10.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-mocks (3.10.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-support (3.10.3) + simplecov (0.21.2) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + simplecov-html (0.12.3) + simplecov_json_formatter (0.1.3) + thor (1.1.0) + vcr (4.0.0) + +PLATFORMS + x86_64-linux + +DEPENDENCIES + appraisal (~> 2.4.1) + bootsnap (~> 1.9.3) + bundler (>= 2.0) + dotenv (~> 2.2, >= 2.2.2) + dry-configurable (= 0.9.0) + faraday (= 0.17.4) + firebase_dynamic_link! + pry (~> 0.14.1) + rake (>= 12.3.3) + rspec (~> 3.10.0) + simplecov (>= 0.16.1) + vcr (~> 4.0, >= 4.0.0) + +BUNDLED WITH + 2.2.32 diff --git a/gemfiles/faraday_1.8.0_dry_0.11.gemfile b/gemfiles/faraday_1.8.0_dry_0.11.gemfile new file mode 100644 index 0000000..81c9895 --- /dev/null +++ b/gemfiles/faraday_1.8.0_dry_0.11.gemfile @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +# This file was generated by Appraisal + +source 'https://rubygems.org' + +gem 'dry-configurable', '0.11.6' +gem 'faraday', '1.8.0' + +gemspec path: '../' diff --git a/gemfiles/faraday_1.8.0_dry_0.11.gemfile.lock b/gemfiles/faraday_1.8.0_dry_0.11.gemfile.lock new file mode 100644 index 0000000..173df1c --- /dev/null +++ b/gemfiles/faraday_1.8.0_dry_0.11.gemfile.lock @@ -0,0 +1,99 @@ +PATH + remote: .. + specs: + firebase_dynamic_link (1.0.4) + case_transform2 (>= 1.0, < 2.0) + dry-configurable (>= 0.6, < 1.0) + faraday (>= 0.16, < 3.0) + faraday-net_http (>= 1.0, < 2.0) + +GEM + remote: https://rubygems.org/ + specs: + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + bootsnap (1.9.3) + msgpack (~> 1.0) + case_transform2 (1.1.1) + coderay (1.1.3) + concurrent-ruby (1.1.9) + diff-lcs (1.4.4) + docile (1.4.0) + dotenv (2.7.6) + dry-configurable (0.11.6) + concurrent-ruby (~> 1.0) + dry-core (~> 0.4, >= 0.4.7) + dry-equalizer (~> 0.2) + dry-core (0.7.1) + concurrent-ruby (~> 1.0) + dry-equalizer (0.3.0) + faraday (1.8.0) + faraday-em_http (~> 1.0) + faraday-em_synchrony (~> 1.0) + faraday-excon (~> 1.1) + faraday-httpclient (~> 1.0.1) + faraday-net_http (~> 1.0) + faraday-net_http_persistent (~> 1.1) + faraday-patron (~> 1.0) + faraday-rack (~> 1.0) + multipart-post (>= 1.2, < 3) + ruby2_keywords (>= 0.0.4) + faraday-em_http (1.0.0) + faraday-em_synchrony (1.0.0) + faraday-excon (1.1.0) + faraday-httpclient (1.0.1) + faraday-net_http (1.0.1) + faraday-net_http_persistent (1.2.0) + faraday-patron (1.0.0) + faraday-rack (1.0.0) + method_source (1.0.0) + msgpack (1.4.2) + multipart-post (2.1.1) + pry (0.14.1) + coderay (~> 1.1) + method_source (~> 1.0) + rake (13.0.6) + rspec (3.10.0) + rspec-core (~> 3.10.0) + rspec-expectations (~> 3.10.0) + rspec-mocks (~> 3.10.0) + rspec-core (3.10.1) + rspec-support (~> 3.10.0) + rspec-expectations (3.10.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-mocks (3.10.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-support (3.10.3) + ruby2_keywords (0.0.5) + simplecov (0.21.2) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + simplecov-html (0.12.3) + simplecov_json_formatter (0.1.3) + thor (1.1.0) + vcr (4.0.0) + +PLATFORMS + x86_64-linux + +DEPENDENCIES + appraisal (~> 2.4.1) + bootsnap (~> 1.9.3) + bundler (>= 2.0) + dotenv (~> 2.2, >= 2.2.2) + dry-configurable (= 0.11.6) + faraday (= 1.8.0) + firebase_dynamic_link! + pry (~> 0.14.1) + rake (>= 12.3.3) + rspec (~> 3.10.0) + simplecov (>= 0.16.1) + vcr (~> 4.0, >= 4.0.0) + +BUNDLED WITH + 2.2.32 diff --git a/gemfiles/faraday_1.8.0_dry_0.12.gemfile b/gemfiles/faraday_1.8.0_dry_0.12.gemfile new file mode 100644 index 0000000..7d35940 --- /dev/null +++ b/gemfiles/faraday_1.8.0_dry_0.12.gemfile @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +# This file was generated by Appraisal + +source 'https://rubygems.org' + +gem 'dry-configurable', '0.12.1' +gem 'faraday', '1.8.0' + +gemspec path: '../' diff --git a/gemfiles/faraday_1.8.0_dry_0.12.gemfile.lock b/gemfiles/faraday_1.8.0_dry_0.12.gemfile.lock new file mode 100644 index 0000000..f13ad47 --- /dev/null +++ b/gemfiles/faraday_1.8.0_dry_0.12.gemfile.lock @@ -0,0 +1,97 @@ +PATH + remote: .. + specs: + firebase_dynamic_link (1.0.4) + case_transform2 (>= 1.0, < 2.0) + dry-configurable (>= 0.6, < 1.0) + faraday (>= 0.16, < 3.0) + faraday-net_http (>= 1.0, < 2.0) + +GEM + remote: https://rubygems.org/ + specs: + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + bootsnap (1.9.3) + msgpack (~> 1.0) + case_transform2 (1.1.1) + coderay (1.1.3) + concurrent-ruby (1.1.9) + diff-lcs (1.4.4) + docile (1.4.0) + dotenv (2.7.6) + dry-configurable (0.12.1) + concurrent-ruby (~> 1.0) + dry-core (~> 0.5, >= 0.5.0) + dry-core (0.7.1) + concurrent-ruby (~> 1.0) + faraday (1.8.0) + faraday-em_http (~> 1.0) + faraday-em_synchrony (~> 1.0) + faraday-excon (~> 1.1) + faraday-httpclient (~> 1.0.1) + faraday-net_http (~> 1.0) + faraday-net_http_persistent (~> 1.1) + faraday-patron (~> 1.0) + faraday-rack (~> 1.0) + multipart-post (>= 1.2, < 3) + ruby2_keywords (>= 0.0.4) + faraday-em_http (1.0.0) + faraday-em_synchrony (1.0.0) + faraday-excon (1.1.0) + faraday-httpclient (1.0.1) + faraday-net_http (1.0.1) + faraday-net_http_persistent (1.2.0) + faraday-patron (1.0.0) + faraday-rack (1.0.0) + method_source (1.0.0) + msgpack (1.4.2) + multipart-post (2.1.1) + pry (0.14.1) + coderay (~> 1.1) + method_source (~> 1.0) + rake (13.0.6) + rspec (3.10.0) + rspec-core (~> 3.10.0) + rspec-expectations (~> 3.10.0) + rspec-mocks (~> 3.10.0) + rspec-core (3.10.1) + rspec-support (~> 3.10.0) + rspec-expectations (3.10.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-mocks (3.10.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-support (3.10.3) + ruby2_keywords (0.0.5) + simplecov (0.21.2) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + simplecov-html (0.12.3) + simplecov_json_formatter (0.1.3) + thor (1.1.0) + vcr (4.0.0) + +PLATFORMS + x86_64-linux + +DEPENDENCIES + appraisal (~> 2.4.1) + bootsnap (~> 1.9.3) + bundler (>= 2.0) + dotenv (~> 2.2, >= 2.2.2) + dry-configurable (= 0.12.1) + faraday (= 1.8.0) + firebase_dynamic_link! + pry (~> 0.14.1) + rake (>= 12.3.3) + rspec (~> 3.10.0) + simplecov (>= 0.16.1) + vcr (~> 4.0, >= 4.0.0) + +BUNDLED WITH + 2.2.32 diff --git a/gemfiles/faraday_1.8.0_dry_0.13.gemfile b/gemfiles/faraday_1.8.0_dry_0.13.gemfile new file mode 100644 index 0000000..29ea638 --- /dev/null +++ b/gemfiles/faraday_1.8.0_dry_0.13.gemfile @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +# This file was generated by Appraisal + +source 'https://rubygems.org' + +gem 'dry-configurable', '0.13.0' +gem 'faraday', '1.8.0' + +gemspec path: '../' diff --git a/gemfiles/faraday_1.8.0_dry_0.13.gemfile.lock b/gemfiles/faraday_1.8.0_dry_0.13.gemfile.lock new file mode 100644 index 0000000..38bdc3b --- /dev/null +++ b/gemfiles/faraday_1.8.0_dry_0.13.gemfile.lock @@ -0,0 +1,97 @@ +PATH + remote: .. + specs: + firebase_dynamic_link (1.0.4) + case_transform2 (>= 1.0, < 2.0) + dry-configurable (>= 0.6, < 1.0) + faraday (>= 0.16, < 3.0) + faraday-net_http (>= 1.0, < 2.0) + +GEM + remote: https://rubygems.org/ + specs: + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + bootsnap (1.9.3) + msgpack (~> 1.0) + case_transform2 (1.1.1) + coderay (1.1.3) + concurrent-ruby (1.1.9) + diff-lcs (1.4.4) + docile (1.4.0) + dotenv (2.7.6) + dry-configurable (0.13.0) + concurrent-ruby (~> 1.0) + dry-core (~> 0.6) + dry-core (0.7.1) + concurrent-ruby (~> 1.0) + faraday (1.8.0) + faraday-em_http (~> 1.0) + faraday-em_synchrony (~> 1.0) + faraday-excon (~> 1.1) + faraday-httpclient (~> 1.0.1) + faraday-net_http (~> 1.0) + faraday-net_http_persistent (~> 1.1) + faraday-patron (~> 1.0) + faraday-rack (~> 1.0) + multipart-post (>= 1.2, < 3) + ruby2_keywords (>= 0.0.4) + faraday-em_http (1.0.0) + faraday-em_synchrony (1.0.0) + faraday-excon (1.1.0) + faraday-httpclient (1.0.1) + faraday-net_http (1.0.1) + faraday-net_http_persistent (1.2.0) + faraday-patron (1.0.0) + faraday-rack (1.0.0) + method_source (1.0.0) + msgpack (1.4.2) + multipart-post (2.1.1) + pry (0.14.1) + coderay (~> 1.1) + method_source (~> 1.0) + rake (13.0.6) + rspec (3.10.0) + rspec-core (~> 3.10.0) + rspec-expectations (~> 3.10.0) + rspec-mocks (~> 3.10.0) + rspec-core (3.10.1) + rspec-support (~> 3.10.0) + rspec-expectations (3.10.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-mocks (3.10.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-support (3.10.3) + ruby2_keywords (0.0.5) + simplecov (0.21.2) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + simplecov-html (0.12.3) + simplecov_json_formatter (0.1.3) + thor (1.1.0) + vcr (4.0.0) + +PLATFORMS + x86_64-linux + +DEPENDENCIES + appraisal (~> 2.4.1) + bootsnap (~> 1.9.3) + bundler (>= 2.0) + dotenv (~> 2.2, >= 2.2.2) + dry-configurable (= 0.13.0) + faraday (= 1.8.0) + firebase_dynamic_link! + pry (~> 0.14.1) + rake (>= 12.3.3) + rspec (~> 3.10.0) + simplecov (>= 0.16.1) + vcr (~> 4.0, >= 4.0.0) + +BUNDLED WITH + 2.2.32 diff --git a/gemfiles/faraday_1.8.0_dry_0.9.gemfile b/gemfiles/faraday_1.8.0_dry_0.9.gemfile new file mode 100644 index 0000000..5b758bd --- /dev/null +++ b/gemfiles/faraday_1.8.0_dry_0.9.gemfile @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +# This file was generated by Appraisal + +source 'https://rubygems.org' + +gem 'dry-configurable', '0.9.0' +gem 'faraday', '1.8.0' + +gemspec path: '../' diff --git a/gemfiles/faraday_1.8.0_dry_0.9.gemfile.lock b/gemfiles/faraday_1.8.0_dry_0.9.gemfile.lock new file mode 100644 index 0000000..e3717ca --- /dev/null +++ b/gemfiles/faraday_1.8.0_dry_0.9.gemfile.lock @@ -0,0 +1,97 @@ +PATH + remote: .. + specs: + firebase_dynamic_link (1.0.4) + case_transform2 (>= 1.0, < 2.0) + dry-configurable (>= 0.6, < 1.0) + faraday (>= 0.16, < 3.0) + faraday-net_http (>= 1.0, < 2.0) + +GEM + remote: https://rubygems.org/ + specs: + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + bootsnap (1.9.3) + msgpack (~> 1.0) + case_transform2 (1.1.1) + coderay (1.1.3) + concurrent-ruby (1.1.9) + diff-lcs (1.4.4) + docile (1.4.0) + dotenv (2.7.6) + dry-configurable (0.9.0) + concurrent-ruby (~> 1.0) + dry-core (~> 0.4, >= 0.4.7) + dry-core (0.7.1) + concurrent-ruby (~> 1.0) + faraday (1.8.0) + faraday-em_http (~> 1.0) + faraday-em_synchrony (~> 1.0) + faraday-excon (~> 1.1) + faraday-httpclient (~> 1.0.1) + faraday-net_http (~> 1.0) + faraday-net_http_persistent (~> 1.1) + faraday-patron (~> 1.0) + faraday-rack (~> 1.0) + multipart-post (>= 1.2, < 3) + ruby2_keywords (>= 0.0.4) + faraday-em_http (1.0.0) + faraday-em_synchrony (1.0.0) + faraday-excon (1.1.0) + faraday-httpclient (1.0.1) + faraday-net_http (1.0.1) + faraday-net_http_persistent (1.2.0) + faraday-patron (1.0.0) + faraday-rack (1.0.0) + method_source (1.0.0) + msgpack (1.4.2) + multipart-post (2.1.1) + pry (0.14.1) + coderay (~> 1.1) + method_source (~> 1.0) + rake (13.0.6) + rspec (3.10.0) + rspec-core (~> 3.10.0) + rspec-expectations (~> 3.10.0) + rspec-mocks (~> 3.10.0) + rspec-core (3.10.1) + rspec-support (~> 3.10.0) + rspec-expectations (3.10.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-mocks (3.10.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-support (3.10.3) + ruby2_keywords (0.0.5) + simplecov (0.21.2) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + simplecov-html (0.12.3) + simplecov_json_formatter (0.1.3) + thor (1.1.0) + vcr (4.0.0) + +PLATFORMS + x86_64-linux + +DEPENDENCIES + appraisal (~> 2.4.1) + bootsnap (~> 1.9.3) + bundler (>= 2.0) + dotenv (~> 2.2, >= 2.2.2) + dry-configurable (= 0.9.0) + faraday (= 1.8.0) + firebase_dynamic_link! + pry (~> 0.14.1) + rake (>= 12.3.3) + rspec (~> 3.10.0) + simplecov (>= 0.16.1) + vcr (~> 4.0, >= 4.0.0) + +BUNDLED WITH + 2.2.32 diff --git a/gemfiles/faraday_2.0.0_dry_0.11.gemfile b/gemfiles/faraday_2.0.0_dry_0.11.gemfile new file mode 100644 index 0000000..6dc0726 --- /dev/null +++ b/gemfiles/faraday_2.0.0_dry_0.11.gemfile @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +# This file was generated by Appraisal + +source 'https://rubygems.org' + +gem 'dry-configurable', '0.11.6' +gem 'faraday', '2.0.0.alpha.pre.3' + +gemspec path: '../' diff --git a/gemfiles/faraday_2.0.0_dry_0.11.gemfile.lock b/gemfiles/faraday_2.0.0_dry_0.11.gemfile.lock new file mode 100644 index 0000000..3858424 --- /dev/null +++ b/gemfiles/faraday_2.0.0_dry_0.11.gemfile.lock @@ -0,0 +1,84 @@ +PATH + remote: .. + specs: + firebase_dynamic_link (1.0.4) + case_transform2 (>= 1.0, < 2.0) + dry-configurable (>= 0.6, < 1.0) + faraday (>= 0.16, < 3.0) + faraday-net_http (>= 1.0, < 2.0) + +GEM + remote: https://rubygems.org/ + specs: + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + bootsnap (1.9.3) + msgpack (~> 1.0) + case_transform2 (1.1.1) + coderay (1.1.3) + concurrent-ruby (1.1.9) + diff-lcs (1.4.4) + docile (1.4.0) + dotenv (2.7.6) + dry-configurable (0.11.6) + concurrent-ruby (~> 1.0) + dry-core (~> 0.4, >= 0.4.7) + dry-equalizer (~> 0.2) + dry-core (0.7.1) + concurrent-ruby (~> 1.0) + dry-equalizer (0.3.0) + faraday (2.0.0.alpha.pre.3) + multipart-post (>= 1.2, < 3) + ruby2_keywords (>= 0.0.4) + faraday-net_http (1.0.1) + method_source (1.0.0) + msgpack (1.4.2) + multipart-post (2.1.1) + pry (0.14.1) + coderay (~> 1.1) + method_source (~> 1.0) + rake (13.0.6) + rspec (3.10.0) + rspec-core (~> 3.10.0) + rspec-expectations (~> 3.10.0) + rspec-mocks (~> 3.10.0) + rspec-core (3.10.1) + rspec-support (~> 3.10.0) + rspec-expectations (3.10.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-mocks (3.10.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-support (3.10.3) + ruby2_keywords (0.0.5) + simplecov (0.21.2) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + simplecov-html (0.12.3) + simplecov_json_formatter (0.1.3) + thor (1.1.0) + vcr (4.0.0) + +PLATFORMS + x86_64-linux + +DEPENDENCIES + appraisal (~> 2.4.1) + bootsnap (~> 1.9.3) + bundler (>= 2.0) + dotenv (~> 2.2, >= 2.2.2) + dry-configurable (= 0.11.6) + faraday (= 2.0.0.alpha.pre.3) + firebase_dynamic_link! + pry (~> 0.14.1) + rake (>= 12.3.3) + rspec (~> 3.10.0) + simplecov (>= 0.16.1) + vcr (~> 4.0, >= 4.0.0) + +BUNDLED WITH + 2.2.32 diff --git a/gemfiles/faraday_2.0.0_dry_0.12.gemfile b/gemfiles/faraday_2.0.0_dry_0.12.gemfile new file mode 100644 index 0000000..fa66a09 --- /dev/null +++ b/gemfiles/faraday_2.0.0_dry_0.12.gemfile @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +# This file was generated by Appraisal + +source 'https://rubygems.org' + +gem 'dry-configurable', '0.12.1' +gem 'faraday', '2.0.0.alpha.pre.3' + +gemspec path: '../' diff --git a/gemfiles/faraday_2.0.0_dry_0.12.gemfile.lock b/gemfiles/faraday_2.0.0_dry_0.12.gemfile.lock new file mode 100644 index 0000000..797b8ea --- /dev/null +++ b/gemfiles/faraday_2.0.0_dry_0.12.gemfile.lock @@ -0,0 +1,82 @@ +PATH + remote: .. + specs: + firebase_dynamic_link (1.0.4) + case_transform2 (>= 1.0, < 2.0) + dry-configurable (>= 0.6, < 1.0) + faraday (>= 0.16, < 3.0) + faraday-net_http (>= 1.0, < 2.0) + +GEM + remote: https://rubygems.org/ + specs: + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + bootsnap (1.9.3) + msgpack (~> 1.0) + case_transform2 (1.1.1) + coderay (1.1.3) + concurrent-ruby (1.1.9) + diff-lcs (1.4.4) + docile (1.4.0) + dotenv (2.7.6) + dry-configurable (0.12.1) + concurrent-ruby (~> 1.0) + dry-core (~> 0.5, >= 0.5.0) + dry-core (0.7.1) + concurrent-ruby (~> 1.0) + faraday (2.0.0.alpha.pre.3) + multipart-post (>= 1.2, < 3) + ruby2_keywords (>= 0.0.4) + faraday-net_http (1.0.1) + method_source (1.0.0) + msgpack (1.4.2) + multipart-post (2.1.1) + pry (0.14.1) + coderay (~> 1.1) + method_source (~> 1.0) + rake (13.0.6) + rspec (3.10.0) + rspec-core (~> 3.10.0) + rspec-expectations (~> 3.10.0) + rspec-mocks (~> 3.10.0) + rspec-core (3.10.1) + rspec-support (~> 3.10.0) + rspec-expectations (3.10.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-mocks (3.10.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-support (3.10.3) + ruby2_keywords (0.0.5) + simplecov (0.21.2) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + simplecov-html (0.12.3) + simplecov_json_formatter (0.1.3) + thor (1.1.0) + vcr (4.0.0) + +PLATFORMS + x86_64-linux + +DEPENDENCIES + appraisal (~> 2.4.1) + bootsnap (~> 1.9.3) + bundler (>= 2.0) + dotenv (~> 2.2, >= 2.2.2) + dry-configurable (= 0.12.1) + faraday (= 2.0.0.alpha.pre.3) + firebase_dynamic_link! + pry (~> 0.14.1) + rake (>= 12.3.3) + rspec (~> 3.10.0) + simplecov (>= 0.16.1) + vcr (~> 4.0, >= 4.0.0) + +BUNDLED WITH + 2.2.32 diff --git a/gemfiles/faraday_2.0.0_dry_0.13.gemfile b/gemfiles/faraday_2.0.0_dry_0.13.gemfile new file mode 100644 index 0000000..34700d5 --- /dev/null +++ b/gemfiles/faraday_2.0.0_dry_0.13.gemfile @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +# This file was generated by Appraisal + +source 'https://rubygems.org' + +gem 'dry-configurable', '0.13.0' +gem 'faraday', '2.0.0.alpha.pre.3' + +gemspec path: '../' diff --git a/gemfiles/faraday_2.0.0_dry_0.13.gemfile.lock b/gemfiles/faraday_2.0.0_dry_0.13.gemfile.lock new file mode 100644 index 0000000..9717a85 --- /dev/null +++ b/gemfiles/faraday_2.0.0_dry_0.13.gemfile.lock @@ -0,0 +1,82 @@ +PATH + remote: .. + specs: + firebase_dynamic_link (1.0.4) + case_transform2 (>= 1.0, < 2.0) + dry-configurable (>= 0.6, < 1.0) + faraday (>= 0.16, < 3.0) + faraday-net_http (>= 1.0, < 2.0) + +GEM + remote: https://rubygems.org/ + specs: + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + bootsnap (1.9.3) + msgpack (~> 1.0) + case_transform2 (1.1.1) + coderay (1.1.3) + concurrent-ruby (1.1.9) + diff-lcs (1.4.4) + docile (1.4.0) + dotenv (2.7.6) + dry-configurable (0.13.0) + concurrent-ruby (~> 1.0) + dry-core (~> 0.6) + dry-core (0.7.1) + concurrent-ruby (~> 1.0) + faraday (2.0.0.alpha.pre.3) + multipart-post (>= 1.2, < 3) + ruby2_keywords (>= 0.0.4) + faraday-net_http (1.0.1) + method_source (1.0.0) + msgpack (1.4.2) + multipart-post (2.1.1) + pry (0.14.1) + coderay (~> 1.1) + method_source (~> 1.0) + rake (13.0.6) + rspec (3.10.0) + rspec-core (~> 3.10.0) + rspec-expectations (~> 3.10.0) + rspec-mocks (~> 3.10.0) + rspec-core (3.10.1) + rspec-support (~> 3.10.0) + rspec-expectations (3.10.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-mocks (3.10.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-support (3.10.3) + ruby2_keywords (0.0.5) + simplecov (0.21.2) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + simplecov-html (0.12.3) + simplecov_json_formatter (0.1.3) + thor (1.1.0) + vcr (4.0.0) + +PLATFORMS + x86_64-linux + +DEPENDENCIES + appraisal (~> 2.4.1) + bootsnap (~> 1.9.3) + bundler (>= 2.0) + dotenv (~> 2.2, >= 2.2.2) + dry-configurable (= 0.13.0) + faraday (= 2.0.0.alpha.pre.3) + firebase_dynamic_link! + pry (~> 0.14.1) + rake (>= 12.3.3) + rspec (~> 3.10.0) + simplecov (>= 0.16.1) + vcr (~> 4.0, >= 4.0.0) + +BUNDLED WITH + 2.2.32 diff --git a/gemfiles/faraday_2.0.0_dry_0.9.gemfile b/gemfiles/faraday_2.0.0_dry_0.9.gemfile new file mode 100644 index 0000000..0125eb1 --- /dev/null +++ b/gemfiles/faraday_2.0.0_dry_0.9.gemfile @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +# This file was generated by Appraisal + +source 'https://rubygems.org' + +gem 'dry-configurable', '0.9.0' +gem 'faraday', '2.0.0.alpha.pre.3' + +gemspec path: '../' diff --git a/gemfiles/faraday_2.0.0_dry_0.9.gemfile.lock b/gemfiles/faraday_2.0.0_dry_0.9.gemfile.lock new file mode 100644 index 0000000..796a5e2 --- /dev/null +++ b/gemfiles/faraday_2.0.0_dry_0.9.gemfile.lock @@ -0,0 +1,82 @@ +PATH + remote: .. + specs: + firebase_dynamic_link (1.0.4) + case_transform2 (>= 1.0, < 2.0) + dry-configurable (>= 0.6, < 1.0) + faraday (>= 0.16, < 3.0) + faraday-net_http (>= 1.0, < 2.0) + +GEM + remote: https://rubygems.org/ + specs: + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + bootsnap (1.9.3) + msgpack (~> 1.0) + case_transform2 (1.1.1) + coderay (1.1.3) + concurrent-ruby (1.1.9) + diff-lcs (1.4.4) + docile (1.4.0) + dotenv (2.7.6) + dry-configurable (0.9.0) + concurrent-ruby (~> 1.0) + dry-core (~> 0.4, >= 0.4.7) + dry-core (0.7.1) + concurrent-ruby (~> 1.0) + faraday (2.0.0.alpha.pre.3) + multipart-post (>= 1.2, < 3) + ruby2_keywords (>= 0.0.4) + faraday-net_http (1.0.1) + method_source (1.0.0) + msgpack (1.4.2) + multipart-post (2.1.1) + pry (0.14.1) + coderay (~> 1.1) + method_source (~> 1.0) + rake (13.0.6) + rspec (3.10.0) + rspec-core (~> 3.10.0) + rspec-expectations (~> 3.10.0) + rspec-mocks (~> 3.10.0) + rspec-core (3.10.1) + rspec-support (~> 3.10.0) + rspec-expectations (3.10.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-mocks (3.10.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-support (3.10.3) + ruby2_keywords (0.0.5) + simplecov (0.21.2) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + simplecov-html (0.12.3) + simplecov_json_formatter (0.1.3) + thor (1.1.0) + vcr (4.0.0) + +PLATFORMS + x86_64-linux + +DEPENDENCIES + appraisal (~> 2.4.1) + bootsnap (~> 1.9.3) + bundler (>= 2.0) + dotenv (~> 2.2, >= 2.2.2) + dry-configurable (= 0.9.0) + faraday (= 2.0.0.alpha.pre.3) + firebase_dynamic_link! + pry (~> 0.14.1) + rake (>= 12.3.3) + rspec (~> 3.10.0) + simplecov (>= 0.16.1) + vcr (~> 4.0, >= 4.0.0) + +BUNDLED WITH + 2.2.32 diff --git a/gemfiles/version_2017a.gemfile b/gemfiles/version_2017a.gemfile deleted file mode 100644 index 37dc453..0000000 --- a/gemfiles/version_2017a.gemfile +++ /dev/null @@ -1,8 +0,0 @@ -# This file was generated by Appraisal - -source "https://rubygems.org" - -gem "dry-configurable", "0.6.0" -gem "faraday", "0.10.1" - -gemspec path: "../" diff --git a/gemfiles/version_2017a.gemfile.lock b/gemfiles/version_2017a.gemfile.lock deleted file mode 100644 index 1ba4ee3..0000000 --- a/gemfiles/version_2017a.gemfile.lock +++ /dev/null @@ -1,75 +0,0 @@ -PATH - remote: .. - specs: - firebase_dynamic_link (1.0.3) - case_transform2 (>= 1.0, < 2.0) - dry-configurable (>= 0.6, < 1.0) - faraday (>= 0.9, < 2.0) - -GEM - remote: https://rubygems.org/ - specs: - appraisal (2.2.0) - bundler - rake - thor (>= 0.14.0) - bootsnap (1.3.0) - msgpack (~> 1.0) - case_transform2 (1.0.0) - coderay (1.1.2) - concurrent-ruby (1.0.5) - diff-lcs (1.3) - docile (1.3.0) - dotenv (2.2.2) - dry-configurable (0.6.0) - concurrent-ruby (~> 1.0) - faraday (0.10.1) - multipart-post (>= 1.2, < 3) - json (2.1.0) - method_source (0.9.0) - msgpack (1.2.4) - multipart-post (2.0.0) - pry (0.11.3) - coderay (~> 1.1.0) - method_source (~> 0.9.0) - rake (13.0.1) - rspec (3.7.0) - rspec-core (~> 3.7.0) - rspec-expectations (~> 3.7.0) - rspec-mocks (~> 3.7.0) - rspec-core (3.7.1) - rspec-support (~> 3.7.0) - rspec-expectations (3.7.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.7.0) - rspec-mocks (3.7.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.7.0) - rspec-support (3.7.1) - simplecov (0.16.1) - docile (~> 1.1) - json (>= 1.8, < 3) - simplecov-html (~> 0.10.0) - simplecov-html (0.10.2) - thor (0.20.0) - vcr (4.0.0) - -PLATFORMS - ruby - -DEPENDENCIES - appraisal (~> 2.2.0) - bootsnap (~> 1.3.0) - bundler (~> 2.0) - dotenv (~> 2.2, >= 2.2.2) - dry-configurable (= 0.6.0) - faraday (= 0.10.1) - firebase_dynamic_link! - pry (~> 0.11.3) - rake (>= 12.3.3) - rspec (~> 3.0) - simplecov (>= 0.16.1) - vcr (~> 4.0, >= 4.0.0) - -BUNDLED WITH - 2.1.4 diff --git a/gemfiles/version_2017b.gemfile b/gemfiles/version_2017b.gemfile deleted file mode 100644 index ac006fb..0000000 --- a/gemfiles/version_2017b.gemfile +++ /dev/null @@ -1,8 +0,0 @@ -# This file was generated by Appraisal - -source "https://rubygems.org" - -gem "dry-configurable", "0.6.0" -gem "faraday", "0.11.0" - -gemspec path: "../" diff --git a/gemfiles/version_2017b.gemfile.lock b/gemfiles/version_2017b.gemfile.lock deleted file mode 100644 index 695da07..0000000 --- a/gemfiles/version_2017b.gemfile.lock +++ /dev/null @@ -1,75 +0,0 @@ -PATH - remote: .. - specs: - firebase_dynamic_link (1.0.3) - case_transform2 (>= 1.0, < 2.0) - dry-configurable (>= 0.6, < 1.0) - faraday (>= 0.9, < 2.0) - -GEM - remote: https://rubygems.org/ - specs: - appraisal (2.2.0) - bundler - rake - thor (>= 0.14.0) - bootsnap (1.3.0) - msgpack (~> 1.0) - case_transform2 (1.0.0) - coderay (1.1.2) - concurrent-ruby (1.0.5) - diff-lcs (1.3) - docile (1.3.0) - dotenv (2.2.2) - dry-configurable (0.6.0) - concurrent-ruby (~> 1.0) - faraday (0.11.0) - multipart-post (>= 1.2, < 3) - json (2.1.0) - method_source (0.9.0) - msgpack (1.2.4) - multipart-post (2.0.0) - pry (0.11.3) - coderay (~> 1.1.0) - method_source (~> 0.9.0) - rake (13.0.1) - rspec (3.7.0) - rspec-core (~> 3.7.0) - rspec-expectations (~> 3.7.0) - rspec-mocks (~> 3.7.0) - rspec-core (3.7.1) - rspec-support (~> 3.7.0) - rspec-expectations (3.7.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.7.0) - rspec-mocks (3.7.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.7.0) - rspec-support (3.7.1) - simplecov (0.16.1) - docile (~> 1.1) - json (>= 1.8, < 3) - simplecov-html (~> 0.10.0) - simplecov-html (0.10.2) - thor (0.20.0) - vcr (4.0.0) - -PLATFORMS - ruby - -DEPENDENCIES - appraisal (~> 2.2.0) - bootsnap (~> 1.3.0) - bundler (~> 2.0) - dotenv (~> 2.2, >= 2.2.2) - dry-configurable (= 0.6.0) - faraday (= 0.11.0) - firebase_dynamic_link! - pry (~> 0.11.3) - rake (>= 12.3.3) - rspec (~> 3.0) - simplecov (>= 0.16.1) - vcr (~> 4.0, >= 4.0.0) - -BUNDLED WITH - 2.1.4 diff --git a/gemfiles/version_2018.gemfile b/gemfiles/version_2018.gemfile deleted file mode 100644 index a1f3d2d..0000000 --- a/gemfiles/version_2018.gemfile +++ /dev/null @@ -1,8 +0,0 @@ -# This file was generated by Appraisal - -source "https://rubygems.org" - -gem "dry-configurable", "0.7.0" -gem "faraday", "0.14.0" - -gemspec path: "../" diff --git a/gemfiles/version_2018.gemfile.lock b/gemfiles/version_2018.gemfile.lock deleted file mode 100644 index 350658d..0000000 --- a/gemfiles/version_2018.gemfile.lock +++ /dev/null @@ -1,75 +0,0 @@ -PATH - remote: .. - specs: - firebase_dynamic_link (1.0.3) - case_transform2 (>= 1.0, < 2.0) - dry-configurable (>= 0.6, < 1.0) - faraday (>= 0.9, < 2.0) - -GEM - remote: https://rubygems.org/ - specs: - appraisal (2.2.0) - bundler - rake - thor (>= 0.14.0) - bootsnap (1.3.0) - msgpack (~> 1.0) - case_transform2 (1.0.0) - coderay (1.1.2) - concurrent-ruby (1.0.5) - diff-lcs (1.3) - docile (1.3.0) - dotenv (2.2.2) - dry-configurable (0.7.0) - concurrent-ruby (~> 1.0) - faraday (0.14.0) - multipart-post (>= 1.2, < 3) - json (2.1.0) - method_source (0.9.0) - msgpack (1.2.4) - multipart-post (2.0.0) - pry (0.11.3) - coderay (~> 1.1.0) - method_source (~> 0.9.0) - rake (13.0.1) - rspec (3.7.0) - rspec-core (~> 3.7.0) - rspec-expectations (~> 3.7.0) - rspec-mocks (~> 3.7.0) - rspec-core (3.7.1) - rspec-support (~> 3.7.0) - rspec-expectations (3.7.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.7.0) - rspec-mocks (3.7.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.7.0) - rspec-support (3.7.1) - simplecov (0.16.1) - docile (~> 1.1) - json (>= 1.8, < 3) - simplecov-html (~> 0.10.0) - simplecov-html (0.10.2) - thor (0.20.0) - vcr (4.0.0) - -PLATFORMS - ruby - -DEPENDENCIES - appraisal (~> 2.2.0) - bootsnap (~> 1.3.0) - bundler (~> 2.0) - dotenv (~> 2.2, >= 2.2.2) - dry-configurable (= 0.7.0) - faraday (= 0.14.0) - firebase_dynamic_link! - pry (~> 0.11.3) - rake (>= 12.3.3) - rspec (~> 3.0) - simplecov (>= 0.16.1) - vcr (~> 4.0, >= 4.0.0) - -BUNDLED WITH - 2.1.4 diff --git a/gemfiles/version_2020.gemfile b/gemfiles/version_2020.gemfile deleted file mode 100644 index db87243..0000000 --- a/gemfiles/version_2020.gemfile +++ /dev/null @@ -1,8 +0,0 @@ -# This file was generated by Appraisal - -source "https://rubygems.org" - -gem "dry-configurable", "0.11.6" -gem "faraday", "1.0.1" - -gemspec path: "../" diff --git a/gemfiles/version_2020.gemfile.lock b/gemfiles/version_2020.gemfile.lock deleted file mode 100644 index f3a8595..0000000 --- a/gemfiles/version_2020.gemfile.lock +++ /dev/null @@ -1,78 +0,0 @@ -PATH - remote: .. - specs: - firebase_dynamic_link (1.0.3) - case_transform2 (>= 1.0, < 2.0) - dry-configurable (>= 0.6, < 1.0) - faraday (>= 0.9, < 2.0) - -GEM - remote: https://rubygems.org/ - specs: - appraisal (2.2.0) - bundler - rake - thor (>= 0.14.0) - bootsnap (1.3.2) - msgpack (~> 1.0) - case_transform2 (1.0.0) - coderay (1.1.3) - concurrent-ruby (1.1.6) - diff-lcs (1.4.4) - docile (1.3.2) - dotenv (2.7.6) - dry-configurable (0.11.6) - concurrent-ruby (~> 1.0) - dry-core (~> 0.4, >= 0.4.7) - dry-equalizer (~> 0.2) - dry-core (0.4.9) - concurrent-ruby (~> 1.0) - dry-equalizer (0.3.0) - faraday (1.0.1) - multipart-post (>= 1.2, < 3) - method_source (0.9.2) - msgpack (1.3.3) - multipart-post (2.1.1) - pry (0.11.3) - coderay (~> 1.1.0) - method_source (~> 0.9.0) - rake (13.0.1) - rspec (3.9.0) - rspec-core (~> 3.9.0) - rspec-expectations (~> 3.9.0) - rspec-mocks (~> 3.9.0) - rspec-core (3.9.2) - rspec-support (~> 3.9.3) - rspec-expectations (3.9.2) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.9.0) - rspec-mocks (3.9.1) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.9.0) - rspec-support (3.9.3) - simplecov (0.18.5) - docile (~> 1.1) - simplecov-html (~> 0.11) - simplecov-html (0.12.2) - thor (1.0.1) - vcr (4.0.0) - -PLATFORMS - ruby - -DEPENDENCIES - appraisal (~> 2.2.0) - bootsnap (~> 1.3.0) - bundler (~> 2.0) - dotenv (~> 2.2, >= 2.2.2) - dry-configurable (= 0.11.6) - faraday (= 1.0.1) - firebase_dynamic_link! - pry (~> 0.11.3) - rake (>= 12.3.3) - rspec (~> 3.0) - simplecov (>= 0.16.1) - vcr (~> 4.0, >= 4.0.0) - -BUNDLED WITH - 2.1.4 diff --git a/lib/firebase_dynamic_link.rb b/lib/firebase_dynamic_link.rb index 7af4ab8..e850620 100644 --- a/lib/firebase_dynamic_link.rb +++ b/lib/firebase_dynamic_link.rb @@ -1,14 +1,19 @@ # frozen_string_literal: true -require "dry-configurable" -require "faraday" -require "firebase_dynamic_link/client" -require "firebase_dynamic_link/link_renderer" -require "firebase_dynamic_link/version" +require 'dry-configurable' +require 'dry/configurable/version' +require 'faraday' +require 'faraday/net_http' if Faraday::VERSION.to_f >= 2.0 +require 'firebase_dynamic_link/client' +require 'firebase_dynamic_link/link_renderer' +require 'firebase_dynamic_link/version' module FirebaseDynamicLink extend Dry::Configurable + USE_FARADAY_2 = Faraday::VERSION.to_i == 2 + USE_DRY_CONFIGURABLE_0_13 = Dry::Configurable::VERSION.to_f == 0.13 + # called when invalid configuration given class InvalidConfig < StandardError; end @@ -18,6 +23,10 @@ class ConnectionError < StandardError; end # called when Firebase says that no more quota class QuotaExceeded < StandardError; end + if FirebaseDynamicLink::USE_FARADAY_2 && Faraday.default_adapter == :test + Faraday.default_adapter = :net_http # default adapter included in this gem + end + # @!group Configuration # @!method adapter # @!scope class @@ -32,7 +41,11 @@ class QuotaExceeded < StandardError; end # FirebaseDynamicLink.adapter = :net_http_persistent # @see https://github.com/lostisland/faraday/tree/master/test/adapters # @since 0.1.0 - setting :adapter, Faraday.default_adapter + if USE_DRY_CONFIGURABLE_0_13 + setting :adapter, default: Faraday.default_adapter + else + setting :adapter, Faraday.default_adapter + end # @!method api_key # @!scope class @@ -44,25 +57,33 @@ class QuotaExceeded < StandardError; end # @since 0.1.0 setting :api_key - # @!method timout + # @!method timeout # Timeout default setting is 3 seconds # @!scope class - # @!method timout=(seconds) + # @!method timeout=(seconds) # @!scope class # @param seconds [Integer] # @since 0.1.0 # @!scope class - setting :timeout, 3 + if USE_DRY_CONFIGURABLE_0_13 + setting :timeout, default: 3 + else + setting :timeout, 3 + end - # @!method open_timout + # @!method open_timeout # @!scope class # Open timeout default setting is 3 seconds - # @!method open_timout=(seconds) + # @!method open_timeout=(seconds) # @!scope class # @param seconds [Integer] # @since 0.1.0 # @!scope class - setting :open_timeout, 3 + if USE_DRY_CONFIGURABLE_0_13 + setting :open_timeout, default: 3 + else + setting :open_timeout, 3 + end # @!method dynamic_link_domain # @!scope class @@ -83,8 +104,27 @@ class QuotaExceeded < StandardError; end # @param suffix [String] # @since 1.0.0 # @!scope class - setting(:suffix_option, "UNGUESSABLE") do |value| - %w[SHORT UNGUESSABLE].include?(value) ? value : raise(FirebaseDynamicLink::InvalidConfig, "default suffix option config is not valid") + if USE_DRY_CONFIGURABLE_0_13 + setting(:suffix_option, default: 'UNGUESSABLE', constructor: lambda { |value| + if %w[SHORT + UNGUESSABLE].include?(value) + value + else + raise(FirebaseDynamicLink::InvalidConfig, + 'default suffix option config is not valid') + end + }) + else + setting(:suffix_option, 'UNGUESSABLE') do |value| + if %w[SHORT + UNGUESSABLE].include?(value) + value + else + raise(FirebaseDynamicLink::InvalidConfig, + 'default suffix option config is not valid') + end + end + end # @!endgroup end diff --git a/lib/firebase_dynamic_link/client.rb b/lib/firebase_dynamic_link/client.rb index 92651d7..627a013 100644 --- a/lib/firebase_dynamic_link/client.rb +++ b/lib/firebase_dynamic_link/client.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -require "uri" -require "firebase_dynamic_link/connection" -require "firebase_dynamic_link/link_renderer" -require "case_transform2" +require 'uri' +require 'firebase_dynamic_link/connection' +require 'firebase_dynamic_link/link_renderer' +require 'case_transform2' module FirebaseDynamicLink # Main class that responsible to shorten link or parameters @@ -30,9 +30,9 @@ def shorten_link(link, options = {}) suffix_option = options[:suffix_option] if options.key?(:suffix_option) params = CaseTransform2.camel_lower(long_dynamic_link: build_link(link, options), - suffix: { - option: suffix_option || config.suffix_option - }) + suffix: { + option: suffix_option || config.suffix_option + }) response = connection.post(nil, params.to_json) link_renderer.render(response) rescue Faraday::ConnectionFailed, Faraday::TimeoutError => e @@ -129,12 +129,13 @@ def shorten_parameters(params, options = {}) suffix_option = options[:suffix_option] if options.key?(:suffix_option) dynamic_link_domain = options.delete(:dynamic_link_domain) - dynamic_link_domain ||= config.dynamic_link_domain || raise(FirebaseDynamicLink::InvalidConfig, "Dynamic link domain is empty") + dynamic_link_domain ||= config.dynamic_link_domain || raise(FirebaseDynamicLink::InvalidConfig, + 'Dynamic link domain is empty') params = CaseTransform2.camel_lower(dynamic_link_info: params.merge(domainUriPrefix: dynamic_link_domain), - suffix: { - option: suffix_option || config.suffix_option - }) + suffix: { + option: suffix_option || config.suffix_option + }) response = connection.post(nil, params.to_json) link_renderer.render(response) rescue Faraday::ConnectionFailed, Faraday::TimeoutError => e @@ -150,7 +151,8 @@ def shorten_parameters(params, options = {}) def build_link(link, options) dynamic_link_domain = options.delete(:dynamic_link_domain) - dynamic_link_domain ||= config.dynamic_link_domain || raise(FirebaseDynamicLink::InvalidConfig, "Dynamic link domain is empty") + dynamic_link_domain ||= config.dynamic_link_domain || raise(FirebaseDynamicLink::InvalidConfig, + 'Dynamic link domain is empty') "#{dynamic_link_domain}?link=#{link}" end diff --git a/lib/firebase_dynamic_link/connection.rb b/lib/firebase_dynamic_link/connection.rb index aebf9df..1f0bb56 100644 --- a/lib/firebase_dynamic_link/connection.rb +++ b/lib/firebase_dynamic_link/connection.rb @@ -11,7 +11,7 @@ class Connection def initialize(end_point) @client = Faraday::Connection.new(url: end_point, - headers: { "Content-Type" => "application/json" }) + headers: { 'Content-Type' => 'application/json' }) client.options.timeout = FirebaseDynamicLink.config.timeout client.options.open_timeout = FirebaseDynamicLink.config.open_timeout diff --git a/lib/firebase_dynamic_link/link_renderer.rb b/lib/firebase_dynamic_link/link_renderer.rb index 15abce1..d79f78c 100644 --- a/lib/firebase_dynamic_link/link_renderer.rb +++ b/lib/firebase_dynamic_link/link_renderer.rb @@ -27,27 +27,28 @@ def render(response) def render_success(response) body = JSON.parse(response.body) - return raise_error(response) if body.key?("error") + return raise_error(response) if body.key?('error') + { - link: body["shortLink"], - preview_link: body["previewLink"], - warning: body["warning"] + link: body['shortLink'], + preview_link: body['previewLink'], + warning: body['warning'] } end def raise_error(response) reason = response.reason_phrase.to_s if response.respond_to?(:reason_phrase) message = begin - body = JSON.parse(response.body) - body["error"]["message"] - rescue JSON::ParserError, NoMethodError - response.body - end - raise FirebaseDynamicLink::ConnectionError, [reason, message].compact.join(": ") + body = JSON.parse(response.body) + body['error']['message'] + rescue JSON::ParserError, NoMethodError + response.body + end + raise FirebaseDynamicLink::ConnectionError, [reason, message].compact.join(': ') end def raise_limit_has_reached - raise FirebaseDynamicLink::QuotaExceeded, "Request limit has been reached" + raise FirebaseDynamicLink::QuotaExceeded, 'Request limit has been reached' end end end diff --git a/lib/firebase_dynamic_link/version.rb b/lib/firebase_dynamic_link/version.rb index f23dab5..ad904e1 100644 --- a/lib/firebase_dynamic_link/version.rb +++ b/lib/firebase_dynamic_link/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module FirebaseDynamicLink - VERSION = "1.0.4".freeze + VERSION = '1.0.5' end diff --git a/spec/client_spec.rb b/spec/client_spec.rb index a00a31d..93fe834 100644 --- a/spec/client_spec.rb +++ b/spec/client_spec.rb @@ -2,69 +2,70 @@ RSpec.describe FirebaseDynamicLink::Client do before(:all) { FirebaseDynamicLink.reset_config } + let(:connection_failed_class) do Class.new do def post(*) - raise Faraday::ConnectionFailed, "test" + raise Faraday::ConnectionFailed, 'test' end end end let(:timout_error_class) do Class.new do def post(*) - raise Faraday::TimeoutError, "test" + raise Faraday::TimeoutError, 'test' end end end before do FirebaseDynamicLink.configure do |config| - config.api_key = ENV["API_KEY"] - config.dynamic_link_domain = ENV["DYNAMIC_LINK_DOMAIN"] + config.api_key = ENV['API_KEY'] + config.dynamic_link_domain = ENV['DYNAMIC_LINK_DOMAIN'] end end - describe "#shorten_link" do - it "shorten link correctly" do - link = "http://saiqulhaq.com" + describe '#shorten_link' do + it 'shorten link correctly' do + link = 'http://saiqulhaq.com' VCR.use_cassette("shorten_link-SHORT-#{ENV['BUNDLE_GEMFILE']}") do - options = { suffix_option: "SHORT" } + options = { suffix_option: 'SHORT' } result = subject.shorten_link(link, options) - expect(result[:link]).to_not eq("") - expect(result[:link]).to_not eq(link) + expect(result[:link]).not_to eq('') + expect(result[:link]).not_to eq(link) end VCR.use_cassette("shorten_link-UNGUESSABLE-#{ENV['BUNDLE_GEMFILE']}") do - options = { suffix_option: "UNGUESSABLE", timout: 5 } + options = { suffix_option: 'UNGUESSABLE', timout: 5 } result = subject.shorten_link(link, options) - expect(result[:link]).to_not eq("") - expect(result[:link]).to_not eq(link) + expect(result[:link]).not_to eq('') + expect(result[:link]).not_to eq(link) end end - it "raise FirebaseDynamicLink::ConnectionError if Faraday::ConnectionFailed raised" do + it 'raise FirebaseDynamicLink::ConnectionError if Faraday::ConnectionFailed raised' do allow_any_instance_of(described_class).to receive(:connection).and_return(connection_failed_class.new) expect do - subject.shorten_link("http://saiqulhaq.com") + subject.shorten_link('http://saiqulhaq.com') end.to raise_error(FirebaseDynamicLink::ConnectionError) end - it "raise FirebaseDynamicLink::ConnectionError if Faraday::TimeoutError raised" do + it 'raise FirebaseDynamicLink::ConnectionError if Faraday::TimeoutError raised' do allow_any_instance_of(described_class).to receive(:connection).and_return(timout_error_class.new) expect do - subject.shorten_link("http://saiqulhaq.com") + subject.shorten_link('http://saiqulhaq.com') end.to raise_error(FirebaseDynamicLink::ConnectionError) end end - describe "#shorten_parameters" do - let(:link) { "http://saiqulhaq.com/asldkj" } + describe '#shorten_parameters' do + let(:link) { 'http://saiqulhaq.com/asldkj' } let(:parameters) do - string = "foo" + string = 'foo' { link: link, android_info: { - android_package_name: "com.foo.name" + android_package_name: 'com.foo.name' }, ios_info: { ios_bundle_id: string, @@ -79,7 +80,7 @@ def post(*) }, analytics_info: { google_play_analytics: { - utm_source: "custom" + utm_source: 'custom' }, itunes_connect_analytics: { at: string @@ -92,42 +93,43 @@ def post(*) } } end - it "shorten link correctly" do + + it 'shorten link correctly' do VCR.use_cassette("shorten_parameters-SHORT-#{ENV['BUNDLE_GEMFILE']}") do options = { - suffix_option: "SHORT", + suffix_option: 'SHORT' # dynamic_link_domain: 'foo' # optional } expect do result = subject.shorten_parameters(parameters, options) - expect(result[:link]).to_not eq("") - expect(result[:link]).to_not eq(link) - end.to_not raise_error + expect(result[:link]).not_to eq('') + expect(result[:link]).not_to eq(link) + end.not_to raise_error end VCR.use_cassette("shorten_parameters-UNGUESSABLE-#{ENV['BUNDLE_GEMFILE']}") do options = { - suffix_option: "UNGUESSABLE", + suffix_option: 'UNGUESSABLE' # dynamic_link_domain: 'foo' # optional } expect do result = subject.shorten_parameters(parameters, options) - expect(result[:link]).to_not eq("") - expect(result[:link]).to_not eq(link) - end.to_not raise_error + expect(result[:link]).not_to eq('') + expect(result[:link]).not_to eq(link) + end.not_to raise_error end end - it "raise FirebaseDynamicLink::ConnectionError if Faraday::ConnectionFailed raised" do + it 'raise FirebaseDynamicLink::ConnectionError if Faraday::ConnectionFailed raised' do allow_any_instance_of(described_class).to receive(:connection).and_return(connection_failed_class.new) expect do subject.shorten_parameters(parameters) end.to raise_error(FirebaseDynamicLink::ConnectionError) end - it "raise FirebaseDynamicLink::ConnectionError if Faraday::TimeoutError raised" do + it 'raise FirebaseDynamicLink::ConnectionError if Faraday::TimeoutError raised' do allow_any_instance_of(described_class).to receive(:connection).and_return(timout_error_class.new) expect do subject.shorten_link(parameters) diff --git a/spec/connection_spec.rb b/spec/connection_spec.rb index a5a1a2f..16ac13f 100644 --- a/spec/connection_spec.rb +++ b/spec/connection_spec.rb @@ -1,10 +1,10 @@ # frozen_string_literal: true RSpec.describe FirebaseDynamicLink::Connection do - let(:instance) { described_class.new('http://saiqulhaq.com') } - subject { instance } + let(:instance) { described_class.new('http://saiqulhaq.com') } + describe '#timeout' do it 'uses default config timeout as default' do expect(instance.timeout).to eq(FirebaseDynamicLink.config.timeout) diff --git a/spec/firebase_dynamic_link_spec.rb b/spec/firebase_dynamic_link_spec.rb index 1176254..ea02629 100644 --- a/spec/firebase_dynamic_link_spec.rb +++ b/spec/firebase_dynamic_link_spec.rb @@ -1,16 +1,17 @@ # frozen_string_literal: true -require "faraday" +require 'faraday' RSpec.describe FirebaseDynamicLink do - before(:all) { FirebaseDynamicLink.reset_config } + before(:all) { described_class.reset_config } - it "has a version number" do - expect(FirebaseDynamicLink::VERSION).to eq("1.0.3") + it 'has a version number' do + expect(FirebaseDynamicLink::VERSION).to eq('1.0.5') end - describe ".config" do + describe '.config' do subject { described_class.config } + { adapter: { default: Faraday.default_adapter, @@ -18,11 +19,11 @@ }, api_key: { default: nil, - valid_value: "foobar" + valid_value: 'foobar' }, dynamic_link_domain: { default: nil, - valid_value: "http://asd.com/asd" + valid_value: 'http://asd.com/asd' }, timeout: { default: 3, @@ -33,8 +34,8 @@ valid_value: 1 }, suffix_option: { - default: "UNGUESSABLE", - valid_value: "SHORT" + default: 'UNGUESSABLE', + valid_value: 'SHORT' } }.each do |method, meta| describe ".#{method}" do @@ -46,7 +47,7 @@ end end - it "is writable" do + it 'is writable' do subject.send("#{method}=".to_sym, meta[:valid_value]) if subject.respond_to? :values expect(subject.values[method]).to eq(meta[:valid_value]) @@ -57,9 +58,9 @@ end end - describe "suffix_option=" do - it "raises FirebaseDynamicLink::InvalidConfig if given parameter is not valid" do - expect { subject.suffix_option = "FOO" }.to raise_error(FirebaseDynamicLink::InvalidConfig) + describe 'suffix_option=' do + it 'raises FirebaseDynamicLink::InvalidConfig if given parameter is not valid' do + expect { subject.suffix_option = 'FOO' }.to raise_error(FirebaseDynamicLink::InvalidConfig) end end end diff --git a/spec/link_renderer_spec.rb b/spec/link_renderer_spec.rb index c60d0d9..77eeb94 100644 --- a/spec/link_renderer_spec.rb +++ b/spec/link_renderer_spec.rb @@ -3,11 +3,11 @@ RSpec.describe FirebaseDynamicLink::LinkRenderer do let(:success_response) do OpenStruct.new(status: 200, body: { - shortLink: "http://link", - previewLink: "http://xxx.goo.gl/foo?preview", + shortLink: 'http://link', + previewLink: 'http://xxx.goo.gl/foo?preview', warning: [{ - "warningCode" => "UNRECOGNIZED_PARAM", - "warningMessage" => "..." + 'warningCode' => 'UNRECOGNIZED_PARAM', + 'warningMessage' => '...' }] }.to_json) end @@ -15,16 +15,16 @@ let(:fail_response) do OpenStruct.new(status: [422, 500].sample, body: { error: { - message: "xxx" + message: 'xxx' } }.to_json) end let(:instance) { described_class.new } - describe "#render" do - context "when response is success" do - it "parsed output correctly" do + describe '#render' do + context 'when response is success' do + it 'parsed output correctly' do output = instance.render(success_response) expect(output).to have_key(:link) expect(output).to have_key(:preview_link) @@ -32,7 +32,7 @@ expect(output[:link]).to eq('http://link') end - it "raise error if response body has error key" do + it 'raise error if response body has error key' do success_response.body = JSON.parse(success_response.body).merge(error: 'foo').to_json expect do instance.render(success_response) @@ -40,14 +40,14 @@ end end - context "when response is fail" do - it "raises error" do + context 'when response is fail' do + it 'raises error' do expect do instance.render(fail_response) end.to raise_error(FirebaseDynamicLink::ConnectionError) end - it "render response.body if response.body.error.message is not exist" do + it 'render response.body if response.body.error.message is not exist' do fail_response.body = 'foobar' expect do instance.render(fail_response) @@ -55,8 +55,8 @@ end end - context "when response.status is 429" do - it "raise FirebaseDynamicLink::QuotaExceeded" do + context 'when response.status is 429' do + it 'raise FirebaseDynamicLink::QuotaExceeded' do response = fail_response response.status = 429 expect do diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 1898716..c19b8f7 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,38 +1,40 @@ # frozen_string_literal: true -require "bundler/setup" -require "bootsnap" +require 'bundler/setup' +require 'bootsnap' +require 'faraday' + +enable_coverage = ENV.fetch('COVERAGE', 0).to_s == '1' + Bootsnap.setup( - cache_dir: "tmp/cache", # Path to your cache - development_mode: true, # Current working environment, e.g. RACK_ENV, RAILS_ENV, etc - load_path_cache: true, # Optimize the LOAD_PATH with a cache - autoload_paths_cache: false, # Optimize ActiveSupport autoloads with cache - disable_trace: true, - compile_cache_iseq: !ENV["COVERAGE"], # Compile Ruby code into ISeq cache, breaks coverage reporting. - compile_cache_yaml: true # Compile YAML into a cache + cache_dir: 'tmp/cache', # Path to your cache + development_mode: true, # Current working environment, e.g. RACK_ENV, RAILS_ENV, etc + load_path_cache: true, # Optimize the LOAD_PATH with a cache + compile_cache_iseq: !enable_coverage, # Compile Ruby code into ISeq cache, breaks coverage reporting. + compile_cache_yaml: true # Compile YAML into a cache ) -require "dotenv/load" -if ENV["COVERAGE"] - require "simplecov" +require 'dotenv/load' + +if enable_coverage + require 'simplecov' SimpleCov.start end -require "firebase_dynamic_link" -require "vcr" +require 'firebase_dynamic_link' +require 'vcr' begin - require "pry" + require 'pry' rescue LoadError end -require "dry/configurable/test_interface" +require 'dry/configurable/test_interface' begin module FirebaseDynamicLink enable_test_interface end - rescue LoadError module FirebaseDynamicLink extend Dry::Configurable::TestInterface @@ -41,7 +43,7 @@ module FirebaseDynamicLink RSpec.configure do |config| # Enable flags like --only-failures and --next-failure - config.example_status_persistence_file_path = ".rspec_status" + config.example_status_persistence_file_path = '.rspec_status' # Disable RSpec exposing methods globally on `Module` and `main` config.disable_monkey_patching! @@ -53,6 +55,6 @@ module FirebaseDynamicLink VCR.configure do |config| config.allow_http_connections_when_no_cassette = true - config.cassette_library_dir = "spec/fixtures/vcr_cassettes" + config.cassette_library_dir = 'spec/fixtures/vcr_cassettes' config.hook_into :faraday end