zaikio-mission_control 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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