README.md in papierkram_api_client-0.4.1 vs README.md in papierkram_api_client-0.4.2

- old
+ new

@@ -1,10 +1,10 @@ # Papierkram API Client<!-- omit in toc --> [![Ruby](https://github.com/simonneutert/papierkram_api_client/actions/workflows/main.yml/badge.svg?branch=main)](https://github.com/simonneutert/papierkram_api_client/actions/workflows/main.yml) -Der erste ~~illegale~~ inoffizielle API Client in [Ruby](https://www.ruby-lang.org/de/) für [Papierkram.de](https://www.papierkram.de) als [Gem](https://rubygems.org/gems/papierkram_api_client) in dein Projekt! +Der erste ~~illegale~~ inoffizielle API Client in [Ruby](https://www.ruby-lang.org/de/) für [Papierkram.de](https://www.papierkram.de) als [Gem](https://rubygems.org/gems/papierkram_api_client) für dein Projekt! <div align="center"> <img src="logo.svg" alt="PAC Logo, Zunge leckt an Karl Klammer und zieht Daten aus dem Papierkram-Account wie Frosch die Fliege vom Teich" width="300"> </div> @@ -156,10 +156,11 @@ - [Helpers](#helpers) - [Generiere ein PDF aus Response](#generiere-ein-pdf-aus-response) - [Development / Mitentwickeln](#development--mitentwickeln) - [Localhost 3000! 🤫](#localhost-3000-) - [Contributing](#contributing) +- [Releasing](#releasing) - [License](#license) ## Installation Install the gem and add to the application's Gemfile by executing: @@ -213,10 +214,12 @@ client = PapierkramApi::Client.new('subdomain', "SUPER-LONG-API-KEY") ``` Oder es werden die Umgebungsvariablen `PAPIERKRAM_API_SUBDOMAIN` und `PAPIERKRAM_API_KEY` gesetzt und der Client ohne Argumente initialisiert. +Ich kann dir wärmstes https://direnv.net/ empfehlen, um die Umgebungsvariablen zu setzen. 🤓 + ```ruby # usage with environment variables client = PapierkramApi::Client.new ``` @@ -500,17 +503,17 @@ creditor_id: 85, line_items: [ { amount: 150.8, name: "restaurant bill", - vat_rate: "19%", + vat_rate: 0.19, category: "Bewirtungskosten" }, { amount: 15, name: "tip", - vat_rate: "19%", + vat_rate: 0.19, category: "Bewirtungskosten" } ] ) ``` @@ -526,19 +529,19 @@ creditor_id: 102, line_items: [ { amount: 170.8, name: "restaurant bill", - vat_rate: "19%", + vat_rate: 0.19, category: "Bewirtungskosten", billing: null, depreciation: null }, { amount: 15, name: "tip", - vat_rate: "19%", + vat_rate: 0.19, category: "Bewirtungskosten" } ] ) ``` @@ -693,27 +696,27 @@ { name: 'Anlieferung', description: 'Anlieferung der neuen Möbel', quantity: 1.25, unit: 'Stunden', - vat_rate: '19%', + vat_rate: 0.19, price: 100 }, { name: 'Bestuhlung', description: 'Bestuhlung des Bürogebäudes', quantity: 1.25, unit: 'Arbeitstage', - vat_rate: '19%', + vat_rate: 0.19, price: 800 }, { name: 'Büroartikel', description: 'Neue Bürostühle', quantity: 200, unit: 'Stühle', - vat_rate: '19%', + vat_rate: 0.19, price: 125 } ] ) ``` @@ -730,27 +733,27 @@ { name: 'Anlieferung', description: 'Anlieferung der neuen Möbel', quantity: 1.5, unit: 'Stunden', - vat_rate: '19%', + vat_rate: 0.19, price: 100 }, { name: 'Bestuhlung', description: 'Bestuhlung des Bürogebäudes', quantity: 1.5, unit: 'Arbeitstage', - vat_rate: '19%', + vat_rate: 0.19, price: 800 }, { name: 'Büroartikel', description: 'Neue Bürostühle', quantity: 200, unit: 'Stühle', - vat_rate: '19%', + vat_rate: 0.19, price: 125 } ] ) ``` @@ -864,11 +867,11 @@ article_no: '12345', description: 'Here, we can describe what "Software design" actually entails.', time_unit: 'hour', proposition_type: 'service', price: '150.0', - vat_rate: '19%' + vat_rate: 0.19 ) puts proposition.headers puts proposition.body ``` @@ -878,11 +881,11 @@ ```ruby client.income_propositions.update_by( id: 1, name: 'Software design', - vat_rate: '19%' # verpflichtend bei Änderung + vat_rate: 0.19 # verpflichtend bei Änderung ) ``` Siehe [Propositions#update_by](lib/papierkram_api/v1/endpoints/income/propositions.rb) für mögliche Parameter. @@ -1254,18 +1257,41 @@ } ``` ## Development / Mitentwickeln +🇬🇧/🇺🇸 + After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. 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 the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org). +You need to have at least the following environment variables set to run the tests: + +- `MT_COMPAT=true` or `export MT_COMPAT=true` (when in .envrc) + +Please, see the [`.envrc.sample`](.envrc.sample) file for more (https://direnv.net/). + +🇩🇪 + +Nachdem du das Repository überprüft hast, führe `bin/setup` aus, um Abhängigkeiten zu installieren. Anschließend führe `rake test` aus, um die Tests durchzuführen. Du kannst auch `bin/console` ausführen, um eine interaktive Konsole zu starten und Experimente durchzuführen. + +Um dieses Gem auf deinem lokalen Rechner zu installieren, führe `bundle exec rake install` aus. Um eine neue Version zu veröffentlichen, aktualisiere die Versionsnummer in `version.rb` und führe dann `bundle exec rake release` aus. Dadurch wird ein Git-Tag für die Version erstellt, Git-Commits und das erstellte Tag werden gepusht, und die `.gem`-Datei wird nach [rubygems.org](https://rubygems.org) gepusht. + +Um die Tests auszuführen, muss die Umgebungsvariable `MT_COMPAT=true` gesetzt sein. + +Bitte, schaue in die Datei [`.envrc.sample`](.envrc.sample) für mehr Details (https://direnv.net/). + ### Localhost 3000! 🤫 +Es gibt Menschen da draußen, die können gegen direkt gegen die Papierkram API entwickeln. 🤯 +Und wie das geht, verrate ich hier allen Lesern! 🤫 + `DEBUG_LOCALHOST=true bin/console` +siehe: [test/test_api_v1_client.rb](test/test_api_v1_client.rb) + OR to make it stick: - Set `export DEBUG_LOCALHOST=true` in your `.env` or `.envrc` file. - Enjoy the magic: `bin/setup && bin/console` 🎉 ## Contributing @@ -1277,9 +1303,26 @@ 🚨 **SEHR WICHTIG!** Dein API Key wird in den Tests verwendet werden. **Bitte achte darauf**, dass du den API Key nicht in deinen Commits hast! Wenn du per Environment Variable arbeitest, dann wird dein API Key **nicht von VCR aufgezeichnet**. Das bedeutet, dass du deine Tests nicht mit deinem API Key ausführen solltest. ⚠️ 🚨 **NOCH WICHTIGER!** deine Kundendaten, also Klarnamen, E-Mails und Telefonnummern haben hier nichts verloren! Bitte sorge dafür, dass du deine Tests mit einem Testaccount ausführst. 🙏 ODER editiere deine Kundendaten in den _VCR Cassettes_ nach dem Test. 🙏 Wenn du unsicher bist, sprich mich an oder erstelle ein Issue. Ich helfe dir gerne weiter. 🤗 + +## Releasing + +1. checkout `main` +2. close the changelog +3. Set the correct/desired version number in `version.rb` and run `bundle install` just for sure +4. commit if needed +5. `bundle exec rake release` + +After a successful release, the gem is pushed to [rubygems.org](https://rubygems.org/gems/papierkram_api_client). + +Here are the steps you need to take after a successful release: + +1. edit `lib/papierkram_api_client/version.rb` and bump the version number to the next patch version +2. run `bundle install` +3. open the changelog again +4. commit and push the changes ## License The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).