zaikio-mission_control 0.2.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 (77) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +64 -0
  4. data/Rakefile +37 -0
  5. data/config/locales/de.yml +70 -0
  6. data/config/locales/en.yml +69 -0
  7. data/lib/zaikio/mission_control/base.rb +7 -0
  8. data/lib/zaikio/mission_control/configuration.rb +17 -0
  9. data/lib/zaikio/mission_control/finishings/base.rb +8 -0
  10. data/lib/zaikio/mission_control/finishings/comb_binding.rb +8 -0
  11. data/lib/zaikio/mission_control/finishings/embossing.rb +8 -0
  12. data/lib/zaikio/mission_control/finishings/foil_stamp.rb +8 -0
  13. data/lib/zaikio/mission_control/finishings/glue.rb +8 -0
  14. data/lib/zaikio/mission_control/finishings/head_band.rb +8 -0
  15. data/lib/zaikio/mission_control/finishings/hole.rb +8 -0
  16. data/lib/zaikio/mission_control/finishings/lamination.rb +8 -0
  17. data/lib/zaikio/mission_control/finishings/perfect_binding.rb +8 -0
  18. data/lib/zaikio/mission_control/finishings/perforation.rb +8 -0
  19. data/lib/zaikio/mission_control/finishings/ring_binding.rb +8 -0
  20. data/lib/zaikio/mission_control/finishings/saddle_stitch.rb +8 -0
  21. data/lib/zaikio/mission_control/finishings/spiral_binding.rb +8 -0
  22. data/lib/zaikio/mission_control/finishings/strip_binding.rb +8 -0
  23. data/lib/zaikio/mission_control/finishings/thread_sewing.rb +8 -0
  24. data/lib/zaikio/mission_control/jobs/base.rb +49 -0
  25. data/lib/zaikio/mission_control/jobs/booklet.rb +12 -0
  26. data/lib/zaikio/mission_control/jobs/box.rb +10 -0
  27. data/lib/zaikio/mission_control/jobs/brochure.rb +12 -0
  28. data/lib/zaikio/mission_control/jobs/business_card.rb +9 -0
  29. data/lib/zaikio/mission_control/jobs/carton.rb +9 -0
  30. data/lib/zaikio/mission_control/jobs/carton_two_piece.rb +10 -0
  31. data/lib/zaikio/mission_control/jobs/compliment_slip.rb +9 -0
  32. data/lib/zaikio/mission_control/jobs/continuation_sheet.rb +9 -0
  33. data/lib/zaikio/mission_control/jobs/cover_letter.rb +9 -0
  34. data/lib/zaikio/mission_control/jobs/envelope.rb +9 -0
  35. data/lib/zaikio/mission_control/jobs/flyer.rb +9 -0
  36. data/lib/zaikio/mission_control/jobs/hardcover_book.rb +12 -0
  37. data/lib/zaikio/mission_control/jobs/label.rb +9 -0
  38. data/lib/zaikio/mission_control/jobs/leaflet.rb +9 -0
  39. data/lib/zaikio/mission_control/jobs/letter_head.rb +9 -0
  40. data/lib/zaikio/mission_control/jobs/magazine.rb +12 -0
  41. data/lib/zaikio/mission_control/jobs/map.rb +10 -0
  42. data/lib/zaikio/mission_control/jobs/ncr_pad.rb +11 -0
  43. data/lib/zaikio/mission_control/jobs/newspaper.rb +10 -0
  44. data/lib/zaikio/mission_control/jobs/notebook.rb +11 -0
  45. data/lib/zaikio/mission_control/jobs/postcard.rb +9 -0
  46. data/lib/zaikio/mission_control/jobs/poster.rb +9 -0
  47. data/lib/zaikio/mission_control/jobs/self_mailer.rb +9 -0
  48. data/lib/zaikio/mission_control/jobs/sheet.rb +9 -0
  49. data/lib/zaikio/mission_control/jobs/softcover_book.rb +10 -0
  50. data/lib/zaikio/mission_control/parts/back.rb +8 -0
  51. data/lib/zaikio/mission_control/parts/base.rb +8 -0
  52. data/lib/zaikio/mission_control/parts/business_card.rb +8 -0
  53. data/lib/zaikio/mission_control/parts/carton.rb +8 -0
  54. data/lib/zaikio/mission_control/parts/case.rb +8 -0
  55. data/lib/zaikio/mission_control/parts/compliment_slip.rb +8 -0
  56. data/lib/zaikio/mission_control/parts/content.rb +8 -0
  57. data/lib/zaikio/mission_control/parts/continuation_sheet.rb +8 -0
  58. data/lib/zaikio/mission_control/parts/cover.rb +8 -0
  59. data/lib/zaikio/mission_control/parts/cover_letter.rb +8 -0
  60. data/lib/zaikio/mission_control/parts/endpaper.rb +8 -0
  61. data/lib/zaikio/mission_control/parts/envelope.rb +8 -0
  62. data/lib/zaikio/mission_control/parts/flyer.rb +8 -0
  63. data/lib/zaikio/mission_control/parts/insert.rb +8 -0
  64. data/lib/zaikio/mission_control/parts/jacket.rb +8 -0
  65. data/lib/zaikio/mission_control/parts/label.rb +8 -0
  66. data/lib/zaikio/mission_control/parts/leaflet.rb +8 -0
  67. data/lib/zaikio/mission_control/parts/letter_head.rb +8 -0
  68. data/lib/zaikio/mission_control/parts/lid.rb +8 -0
  69. data/lib/zaikio/mission_control/parts/map_sheet.rb +8 -0
  70. data/lib/zaikio/mission_control/parts/outsert.rb +8 -0
  71. data/lib/zaikio/mission_control/parts/postcard.rb +8 -0
  72. data/lib/zaikio/mission_control/parts/poster.rb +8 -0
  73. data/lib/zaikio/mission_control/parts/self_mailer.rb +8 -0
  74. data/lib/zaikio/mission_control/parts/sheet.rb +8 -0
  75. data/lib/zaikio/mission_control/version.rb +5 -0
  76. data/lib/zaikio/mission_control.rb +136 -0
  77. metadata +204 -0
@@ -0,0 +1,9 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Jobs
4
+ class Leaflet < Base
5
+ has_one_part :leaflet, required: true
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Jobs
4
+ class LetterHead < Base
5
+ has_one_part :letter_head, required: true
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,12 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Jobs
4
+ class Magazine < Base
5
+ has_one_part :content, required: true
6
+ has_one_part :cover
7
+ has_many_parts :inserts
8
+ has_many_parts :outserts
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,10 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Jobs
4
+ class Map < Base
5
+ has_one_part :map_sheet, required: true
6
+ has_one_part :cover
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,11 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Jobs
4
+ class NcrPad < Base
5
+ has_many_parts :content, required: true
6
+ has_one_part :back, required: true
7
+ has_one_part :cover
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,10 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Jobs
4
+ class Newspaper < Base
5
+ has_one_part :content, required: true
6
+ has_many_parts :inserts
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,11 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Jobs
4
+ class Notebook < Base
5
+ has_many_parts :contents, required: true
6
+ has_one_part :cover, required: true
7
+ has_one_part :back
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,9 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Jobs
4
+ class Postcard < Base
5
+ has_one_part :postcard, required: true
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Jobs
4
+ class Poster < Base
5
+ has_one_part :poster, required: true
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Jobs
4
+ class SelfMailer < Base
5
+ has_one_part :self_mailer, required: true
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Jobs
4
+ class Sheet < Base
5
+ has_one_part :sheet, required: true
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,10 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Jobs
4
+ class SoftcoverBook < Base
5
+ has_one_part :content, required: true
6
+ has_one_part :cover, required: true
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,8 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Parts
4
+ class Back < Base
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Parts
4
+ class Base < Zaikio::MissionControl::Base
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Parts
4
+ class BusinessCard < Base
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Parts
4
+ class Carton < Base
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Parts
4
+ class Case < Base
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Parts
4
+ class ComplimentSlip < Base
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Parts
4
+ class Content < Base
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Parts
4
+ class ContinuationSheet < Base
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Parts
4
+ class Cover < Base
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Parts
4
+ class CoverLetter < Base
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Parts
4
+ class Endpaper < Base
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Parts
4
+ class Envelope < Base
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Parts
4
+ class Flyer < Base
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Parts
4
+ class Insert < Base
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Parts
4
+ class Jacket < Base
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Parts
4
+ class Label < Base
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Parts
4
+ class Leaflet < Base
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Parts
4
+ class LetterHead < Base
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Parts
4
+ class Lid < Base
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Parts
4
+ class MapSheet < Base
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Parts
4
+ class Outsert < Base
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Parts
4
+ class Postcard < Base
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Parts
4
+ class Poster < Base
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Parts
4
+ class SelfMailer < Base
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ module Parts
4
+ class Sheet < Base
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,5 @@
1
+ module Zaikio
2
+ module MissionControl
3
+ VERSION = "0.2.0".freeze
4
+ end
5
+ end
@@ -0,0 +1,136 @@
1
+ require "faraday"
2
+ require "spyke"
3
+ require "zaikio-client-helpers"
4
+ require "zaikio/mission_control/configuration"
5
+
6
+ # Jobs
7
+ require "zaikio/mission_control/base"
8
+ require "zaikio/mission_control/jobs/base"
9
+ require "zaikio/mission_control/jobs/booklet"
10
+ require "zaikio/mission_control/jobs/carton"
11
+ require "zaikio/mission_control/jobs/carton_two_piece"
12
+ require "zaikio/mission_control/jobs/brochure"
13
+ require "zaikio/mission_control/jobs/business_card"
14
+ require "zaikio/mission_control/jobs/box"
15
+ require "zaikio/mission_control/jobs/compliment_slip"
16
+ require "zaikio/mission_control/jobs/continuation_sheet"
17
+ require "zaikio/mission_control/jobs/cover_letter"
18
+ require "zaikio/mission_control/jobs/envelope"
19
+ require "zaikio/mission_control/jobs/flyer"
20
+ require "zaikio/mission_control/jobs/hardcover_book"
21
+ require "zaikio/mission_control/jobs/label"
22
+ require "zaikio/mission_control/jobs/leaflet"
23
+ require "zaikio/mission_control/jobs/letter_head"
24
+ require "zaikio/mission_control/jobs/magazine"
25
+ require "zaikio/mission_control/jobs/map"
26
+ require "zaikio/mission_control/jobs/ncr_pad"
27
+ require "zaikio/mission_control/jobs/newspaper"
28
+ require "zaikio/mission_control/jobs/notebook"
29
+ require "zaikio/mission_control/jobs/postcard"
30
+ require "zaikio/mission_control/jobs/poster"
31
+ require "zaikio/mission_control/jobs/self_mailer"
32
+ require "zaikio/mission_control/jobs/sheet"
33
+ require "zaikio/mission_control/jobs/softcover_book"
34
+
35
+ # Parts
36
+ require "zaikio/mission_control/parts/base"
37
+ require "zaikio/mission_control/parts/content"
38
+ require "zaikio/mission_control/parts/cover"
39
+ require "zaikio/mission_control/parts/insert"
40
+ require "zaikio/mission_control/parts/outsert"
41
+ require "zaikio/mission_control/parts/carton"
42
+ require "zaikio/mission_control/parts/lid"
43
+ require "zaikio/mission_control/parts/business_card"
44
+ require "zaikio/mission_control/parts/compliment_slip"
45
+ require "zaikio/mission_control/parts/continuation_sheet"
46
+ require "zaikio/mission_control/parts/cover_letter"
47
+ require "zaikio/mission_control/parts/envelope"
48
+ require "zaikio/mission_control/parts/flyer"
49
+ require "zaikio/mission_control/parts/case"
50
+ require "zaikio/mission_control/parts/endpaper"
51
+ require "zaikio/mission_control/parts/jacket"
52
+ require "zaikio/mission_control/parts/label"
53
+ require "zaikio/mission_control/parts/leaflet"
54
+ require "zaikio/mission_control/parts/letter_head"
55
+ require "zaikio/mission_control/parts/map_sheet"
56
+ require "zaikio/mission_control/parts/back"
57
+ require "zaikio/mission_control/parts/postcard"
58
+ require "zaikio/mission_control/parts/poster"
59
+ require "zaikio/mission_control/parts/self_mailer"
60
+ require "zaikio/mission_control/parts/sheet"
61
+
62
+ # Finishings
63
+ require "zaikio/mission_control/finishings/base"
64
+ require "zaikio/mission_control/finishings/comb_binding"
65
+ require "zaikio/mission_control/finishings/embossing"
66
+ require "zaikio/mission_control/finishings/foil_stamp"
67
+ require "zaikio/mission_control/finishings/glue"
68
+ require "zaikio/mission_control/finishings/head_band"
69
+ require "zaikio/mission_control/finishings/hole"
70
+ require "zaikio/mission_control/finishings/lamination"
71
+ require "zaikio/mission_control/finishings/perforation"
72
+ require "zaikio/mission_control/finishings/ring_binding"
73
+ require "zaikio/mission_control/finishings/perfect_binding"
74
+ require "zaikio/mission_control/finishings/saddle_stitch"
75
+ require "zaikio/mission_control/finishings/spiral_binding"
76
+ require "zaikio/mission_control/finishings/strip_binding"
77
+ require "zaikio/mission_control/finishings/thread_sewing"
78
+
79
+ module Zaikio
80
+ module MissionControl
81
+ class << self
82
+ attr_accessor :configuration
83
+
84
+ class_attribute :connection
85
+
86
+ def configure
87
+ self.connection = nil
88
+ self.configuration ||= Configuration.new
89
+ yield(configuration)
90
+
91
+ Base.connection = create_connection
92
+ I18n.load_path += Dir["#{File.expand_path('../../config/locales', __dir__)}/*.yml"]
93
+ end
94
+
95
+ def with_token(token, &block)
96
+ Zaikio::Client.with_token(token, &block)
97
+ end
98
+
99
+ def create_connection
100
+ self.connection = Zaikio::Client.create_connection(configuration)
101
+ end
102
+
103
+ def job_klasses
104
+ @job_klasses ||= Zaikio::MissionControl::Jobs
105
+ .constants.sort
106
+ .map { |c| Zaikio::MissionControl::Jobs.const_get(c) }
107
+ .select { |c| c.is_a?(Class) } - [Zaikio::MissionControl::Jobs::Base]
108
+ end
109
+
110
+ def part_klasses
111
+ @part_klasses ||= Zaikio::MissionControl::Parts.constants.sort
112
+ .map { |c| Zaikio::MissionControl::Parts.const_get(c) }
113
+ .select { |c| c.is_a?(Class) }
114
+ end
115
+
116
+ def finishing_klasses
117
+ @finishing_klasses ||= Zaikio::MissionControl::Finishings
118
+ .constants.sort
119
+ .map { |c| Zaikio::MissionControl::Finishings.const_get(c) }
120
+ .select { |c| c.is_a?(Class) } - [Zaikio::MissionControl::Finishings::Base]
121
+ end
122
+
123
+ def jobs
124
+ @jobs ||= job_klasses.map { |k| k.name.demodulize.underscore.to_sym }
125
+ end
126
+
127
+ def parts
128
+ @parts ||= part_klasses.map { |k| k.name.demodulize.underscore.to_sym }
129
+ end
130
+
131
+ def finishings
132
+ @finishings ||= finishing_klasses.map { |k| k.name.demodulize.underscore.to_sym }
133
+ end
134
+ end
135
+ end
136
+ end