kozo 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/CHANGELOG.md +15 -3
  4. data/Gemfile +1 -3
  5. data/Gemfile.lock +44 -51
  6. data/README.md +2 -0
  7. data/kozo.gemspec +2 -2
  8. data/lib/core_ext/boolean.rb +8 -0
  9. data/lib/core_ext/date.rb +15 -0
  10. data/lib/core_ext/enumerable.rb +27 -0
  11. data/lib/core_ext/float.rb +15 -0
  12. data/lib/core_ext/hash.rb +23 -0
  13. data/lib/core_ext/integer.rb +15 -0
  14. data/lib/core_ext/nil_class.rb +8 -0
  15. data/lib/core_ext/string.rb +11 -0
  16. data/lib/core_ext/symbol.rb +11 -0
  17. data/lib/core_ext/time.rb +16 -0
  18. data/lib/kozo/backend.rb +2 -13
  19. data/lib/kozo/backends/git.rb +1 -1
  20. data/lib/kozo/backends/local.rb +12 -4
  21. data/lib/kozo/cli.rb +11 -3
  22. data/lib/kozo/command.rb +6 -15
  23. data/lib/kozo/commands/apply.rb +2 -2
  24. data/lib/kozo/commands/import.rb +4 -2
  25. data/lib/kozo/commands/plan.rb +16 -7
  26. data/lib/kozo/commands/state/delete.rb +39 -0
  27. data/lib/kozo/commands/state/list.rb +21 -0
  28. data/lib/kozo/commands/state/show.rb +30 -0
  29. data/lib/kozo/commands/state/upgrade.rb +45 -0
  30. data/lib/kozo/commands/state.rb +2 -38
  31. data/lib/kozo/concerns/attributes.rb +59 -32
  32. data/lib/kozo/concerns/read_write.rb +45 -0
  33. data/lib/kozo/configuration.rb +28 -17
  34. data/lib/kozo/dsl.rb +15 -0
  35. data/lib/kozo/error.rb +13 -2
  36. data/lib/kozo/inflector.rb +11 -0
  37. data/lib/kozo/logger.rb +13 -7
  38. data/lib/kozo/operation.rb +0 -25
  39. data/lib/kozo/operations/create.rb +12 -6
  40. data/lib/kozo/operations/destroy.rb +12 -6
  41. data/lib/kozo/operations/show.rb +17 -0
  42. data/lib/kozo/operations/update.rb +17 -0
  43. data/lib/kozo/options.rb +24 -0
  44. data/lib/kozo/providers/dummy/resources/dummy.rb +11 -0
  45. data/lib/kozo/providers/hcloud/provider.rb +1 -1
  46. data/lib/kozo/providers/hcloud/resource.rb +30 -7
  47. data/lib/kozo/providers/hcloud/resources/server.rb +16 -8
  48. data/lib/kozo/providers/hcloud/resources/ssh_key.rb +6 -1
  49. data/lib/kozo/reference.rb +58 -0
  50. data/lib/kozo/resource.rb +35 -7
  51. data/lib/kozo/state.rb +11 -5
  52. data/lib/kozo/type.rb +3 -3
  53. data/lib/kozo/types/boolean.rb +0 -4
  54. data/lib/kozo/types/date.rb +0 -4
  55. data/lib/kozo/types/float.rb +0 -4
  56. data/lib/kozo/types/hash.rb +0 -4
  57. data/lib/kozo/types/integer.rb +0 -4
  58. data/lib/kozo/types/reference.rb +17 -0
  59. data/lib/kozo/types/string.rb +0 -4
  60. data/lib/kozo/types/time.rb +0 -4
  61. data/lib/kozo/upgrade/1_initial.rb +9 -0
  62. data/lib/kozo/upgrade/2_remove_kozo_version.rb +11 -0
  63. data/lib/kozo/upgrade.rb +15 -0
  64. data/lib/kozo/version.rb +1 -1
  65. data/lib/kozo.rb +7 -1
  66. metadata +42 -19
  67. data/lib/kozo/concerns/mark.rb +0 -25
metadata CHANGED
@@ -1,43 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kozo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Dejonckheere
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-12-02 00:00:00.000000000 Z
11
+ date: 2022-02-13 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: activemodel
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '6.0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '6.0'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: activesupport
29
15
  requirement: !ruby/object:Gem::Requirement
30
16
  requirements:
31
- - - "~>"
17
+ - - ">="
32
18
  - !ruby/object:Gem::Version
33
19
  version: '6.0'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '7.1'
34
23
  type: :runtime
35
24
  prerelease: false
36
25
  version_requirements: !ruby/object:Gem::Requirement
37
26
  requirements:
38
- - - "~>"
27
+ - - ">="
39
28
  - !ruby/object:Gem::Version
40
29
  version: '6.0'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '7.1'
41
33
  - !ruby/object:Gem::Dependency
42
34
  name: colorize
43
35
  requirement: !ruby/object:Gem::Requirement
@@ -94,6 +86,20 @@ dependencies:
94
86
  - - "~>"
95
87
  - !ruby/object:Gem::Version
96
88
  version: '1.9'
89
+ - !ruby/object:Gem::Dependency
90
+ name: hetznercloud
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '1.3'
96
+ type: :runtime
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '1.3'
97
103
  - !ruby/object:Gem::Dependency
98
104
  name: zeitwerk
99
105
  requirement: !ruby/object:Gem::Requirement
@@ -386,8 +392,15 @@ files:
386
392
  - config/inflections.rb
387
393
  - kozo.gemspec
388
394
  - lib/core_ext/boolean.rb
395
+ - lib/core_ext/date.rb
396
+ - lib/core_ext/enumerable.rb
397
+ - lib/core_ext/float.rb
398
+ - lib/core_ext/hash.rb
399
+ - lib/core_ext/integer.rb
389
400
  - lib/core_ext/nil_class.rb
390
401
  - lib/core_ext/string.rb
402
+ - lib/core_ext/symbol.rb
403
+ - lib/core_ext/time.rb
391
404
  - lib/kozo.rb
392
405
  - lib/kozo/backend.rb
393
406
  - lib/kozo/backends/git.rb
@@ -403,15 +416,20 @@ files:
403
416
  - lib/kozo/commands/refresh.rb
404
417
  - lib/kozo/commands/show.rb
405
418
  - lib/kozo/commands/state.rb
419
+ - lib/kozo/commands/state/delete.rb
420
+ - lib/kozo/commands/state/list.rb
421
+ - lib/kozo/commands/state/show.rb
422
+ - lib/kozo/commands/state/upgrade.rb
406
423
  - lib/kozo/commands/validate.rb
407
424
  - lib/kozo/commands/version.rb
408
425
  - lib/kozo/concerns/assignment.rb
409
426
  - lib/kozo/concerns/attributes.rb
410
- - lib/kozo/concerns/mark.rb
427
+ - lib/kozo/concerns/read_write.rb
411
428
  - lib/kozo/concerns/track.rb
412
429
  - lib/kozo/configuration.rb
413
430
  - lib/kozo/dsl.rb
414
431
  - lib/kozo/error.rb
432
+ - lib/kozo/inflector.rb
415
433
  - lib/kozo/logger.rb
416
434
  - lib/kozo/operation.rb
417
435
  - lib/kozo/operations/create.rb
@@ -430,6 +448,7 @@ files:
430
448
  - lib/kozo/providers/hcloud/resource.rb
431
449
  - lib/kozo/providers/hcloud/resources/server.rb
432
450
  - lib/kozo/providers/hcloud/resources/ssh_key.rb
451
+ - lib/kozo/reference.rb
433
452
  - lib/kozo/resource.rb
434
453
  - lib/kozo/state.rb
435
454
  - lib/kozo/type.rb
@@ -438,8 +457,12 @@ files:
438
457
  - lib/kozo/types/float.rb
439
458
  - lib/kozo/types/hash.rb
440
459
  - lib/kozo/types/integer.rb
460
+ - lib/kozo/types/reference.rb
441
461
  - lib/kozo/types/string.rb
442
462
  - lib/kozo/types/time.rb
463
+ - lib/kozo/upgrade.rb
464
+ - lib/kozo/upgrade/1_initial.rb
465
+ - lib/kozo/upgrade/2_remove_kozo_version.rb
443
466
  - lib/kozo/version.rb
444
467
  homepage: http://github.com/floriandejonckheere/kozo
445
468
  licenses:
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Kozo
4
- module Mark
5
- def mark_for_deletion!
6
- @status = :delete
7
- end
8
-
9
- def marked_for_deletion?
10
- @status == :delete
11
- end
12
-
13
- def mark_for_creation!
14
- @status = :create
15
- end
16
-
17
- def marked_for_creation?
18
- @status == :create
19
- end
20
-
21
- def unmark!
22
- @status = nil
23
- end
24
- end
25
- end