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).