cloudrider 0.1.2 → 0.1.3

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 (144) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +11 -1
  3. data/cloudrider.gemspec +0 -3
  4. data/generica/app/assets/javascripts/adapters/admin/taxon.js.em +2 -0
  5. data/generica/app/assets/javascripts/components/hero-splash.js.em +1 -15
  6. data/generica/app/assets/javascripts/components/products-showcase.js.em +6 -0
  7. data/generica/app/assets/javascripts/components/select-locale.js.em +2 -2
  8. data/generica/app/assets/javascripts/components/tr-span.js.em +1 -0
  9. data/generica/app/assets/javascripts/components/tree/taxon-li.js.em +27 -2
  10. data/generica/app/assets/javascripts/components/tree/taxon-wrapper.js.em +5 -18
  11. data/generica/app/assets/javascripts/config/i18n-translations.js.ls +6 -2
  12. data/generica/app/assets/javascripts/config/router.js.ls +4 -1
  13. data/generica/app/assets/javascripts/controllers/admin/messages/index_controller.js.em +10 -0
  14. data/generica/app/assets/javascripts/controllers/admin/product/edit_controller.js.em +10 -1
  15. data/generica/app/assets/javascripts/controllers/admin/products/new_controller.js.em +6 -0
  16. data/generica/app/assets/javascripts/controllers/admin/taxon/edit_controller.js.em +17 -0
  17. data/generica/app/assets/javascripts/controllers/admin/taxons/new_controller.js.em +25 -0
  18. data/generica/app/assets/javascripts/controllers/messages/new_controller.js.em +16 -0
  19. data/generica/app/assets/javascripts/controllers/products/index_controller.js.em +5 -8
  20. data/generica/app/assets/javascripts/helpers/hash_ex.js.ls +6 -0
  21. data/generica/app/assets/javascripts/helpers/string_ex.js.ls +1 -1
  22. data/generica/app/assets/javascripts/models/admin/product.js.em +2 -0
  23. data/generica/app/assets/javascripts/models/admin/taxon.js.em +4 -1
  24. data/generica/app/assets/javascripts/models/message.js.em +7 -0
  25. data/generica/app/assets/javascripts/models/product.js.em +7 -2
  26. data/generica/app/assets/javascripts/models/taxon.js.em +3 -5
  27. data/generica/app/assets/javascripts/routes/admin/messages/index_route.js.em +1 -0
  28. data/generica/app/assets/javascripts/routes/admin/taxon_route.js.em +3 -0
  29. data/generica/app/assets/javascripts/routes/admin/taxons/index_route.js.em +1 -1
  30. data/generica/app/assets/javascripts/routes/admin/taxons/new_route.js.em +2 -0
  31. data/generica/app/assets/javascripts/routes/index_route.js.em +3 -2
  32. data/generica/app/assets/javascripts/routes/products/index_route.js.em +1 -1
  33. data/generica/app/assets/javascripts/templates/admin.emblem +17 -5
  34. data/generica/app/assets/javascripts/templates/admin/messages/index.emblem +19 -0
  35. data/generica/app/assets/javascripts/templates/admin/messages/slice.emblem +12 -0
  36. data/generica/app/assets/javascripts/templates/admin/product/edit.emblem +23 -6
  37. data/generica/app/assets/javascripts/templates/admin/products/new.emblem +17 -0
  38. data/generica/app/assets/javascripts/templates/admin/products/slice.emblem +6 -1
  39. data/generica/app/assets/javascripts/templates/admin/taxon/edit.emblem +36 -0
  40. data/generica/app/assets/javascripts/templates/admin/taxons/index.emblem +1 -1
  41. data/generica/app/assets/javascripts/templates/admin/taxons/new.emblem +40 -0
  42. data/generica/app/assets/javascripts/templates/admin/translations/index.emblem +1 -1
  43. data/generica/app/assets/javascripts/templates/components/product-display.emblem +4 -0
  44. data/generica/app/assets/javascripts/templates/components/product-listing.emblem +9 -0
  45. data/generica/app/assets/javascripts/templates/components/search-and-filter.emblem +1 -1
  46. data/generica/app/assets/javascripts/templates/components/site-nav/_top-nav.emblem +1 -1
  47. data/generica/app/assets/javascripts/templates/components/table-booths.emblem +3 -65
  48. data/generica/app/assets/javascripts/templates/components/tree-taxon-li.emblem +11 -3
  49. data/generica/app/assets/javascripts/templates/components/tree-taxon-ul.emblem +6 -7
  50. data/generica/app/assets/javascripts/templates/components/tree-taxon-wrapper.emblem +2 -2
  51. data/generica/app/assets/javascripts/templates/employees/index.emblem +32 -0
  52. data/generica/app/assets/javascripts/templates/index.emblem +2 -1
  53. data/generica/app/assets/javascripts/templates/messages/new.emblem +43 -0
  54. data/generica/app/assets/javascripts/templates/products/product/show.emblem +8 -0
  55. data/generica/app/assets/javascripts/transforms/form_data_transformer.js.ls +4 -0
  56. data/generica/app/assets/stylesheets/apiv1/_admin.css.scss +1 -0
  57. data/generica/app/assets/stylesheets/apiv1/admin/messages/_index.css.scss +34 -0
  58. data/generica/app/assets/stylesheets/apiv1/components/_product-display.css.scss +24 -0
  59. data/generica/app/assets/stylesheets/apiv1/components/_product-listing.css.scss +27 -2
  60. data/generica/app/assets/stylesheets/apiv1/components/_table-booths.css.scss +10 -0
  61. data/generica/app/assets/stylesheets/apiv1/components/_tree-taxon-wrapper.css.scss +37 -22
  62. data/generica/app/assets/stylesheets/apiv1/products/product/_show.css.scss +24 -0
  63. data/generica/app/assets/stylesheets/apiv1/shared/_constants.css.scss +2 -2
  64. data/generica/app/controllers/admin/taxons/create_controller.rb +26 -0
  65. data/generica/app/controllers/apiv1/i18n_translations/index_controller.rb +9 -5
  66. data/generica/app/controllers/apiv1/messages/create_controller.rb +17 -0
  67. data/generica/app/controllers/apiv1/messages/index_controller.rb +18 -0
  68. data/generica/app/controllers/apiv1/products/index_controller.rb +1 -1
  69. data/generica/app/controllers/apiv1/taxons/destroy_controller.rb +9 -0
  70. data/generica/app/controllers/apiv1/taxons/index_controller.rb +1 -0
  71. data/generica/app/controllers/apiv1/taxons/update_controller.rb +28 -0
  72. data/generica/app/controllers/apiv1/translations/create_controller.rb +5 -4
  73. data/generica/app/controllers/apiv1/translations/update_controller.rb +2 -2
  74. data/generica/app/models/admin/product_modifier.rb +16 -3
  75. data/generica/app/models/admin/taxon_factory.rb +23 -0
  76. data/generica/app/models/admin/taxon_relationships_factory.rb +32 -0
  77. data/generica/app/models/apiv1/employee.rb +1 -2
  78. data/generica/app/models/apiv1/message.rb +24 -0
  79. data/generica/app/models/apiv1/messages_machine.rb +31 -0
  80. data/generica/app/models/apiv1/product.rb +33 -13
  81. data/generica/app/models/apiv1/products_machine.rb +9 -1
  82. data/generica/app/models/apiv1/taxon.rb +8 -2
  83. data/generica/app/models/apiv1/translation.rb +73 -14
  84. data/generica/app/models/i18n/backend/active_record.rb +49 -0
  85. data/generica/app/varissets/javascripts/templates/components/introductory-lobby.emblem.erb +15 -1
  86. data/generica/app/varissets/javascripts/templates/components/table-booths.emblem.erb +39 -0
  87. data/generica/app/varissets/stylesheets/apiv1/components/_introductory-lobby.css.scss.erb +15 -1
  88. data/generica/app/varissets/stylesheets/apiv1/components/_table-booths.css.scss.erb +71 -0
  89. data/generica/config/initializers/i18n_backend.rb +7 -0
  90. data/generica/config/routes.rb +5 -2
  91. data/generica/db/migrate/20141010215459_create_apiv1_translations.rb +3 -1
  92. data/generica/db/migrate/20141105231548_add_showcase_priority_to_apiv1_products.rb +5 -0
  93. data/generica/db/migrate/20141107174821_create_apiv1_messages.rb +12 -0
  94. data/generica/db/schema.rb +11 -16
  95. data/generica/lib/tasks/production.rake +2 -1
  96. data/generica/spec/controllers/admin/taxons/create_controller_spec.rb +44 -0
  97. data/generica/spec/controllers/apiv1/messages/index_controller_spec.rb +5 -0
  98. data/generica/spec/controllers/apiv1/taxons/index_controller_spec.rb +59 -0
  99. data/generica/spec/controllers/apiv1/taxons/update_controller_spec.rb +54 -0
  100. data/generica/spec/controllers/apiv1/translations/create_controller_spec.rb +50 -0
  101. data/generica/spec/controllers/apiv1/translations/update_controller_spec.rb +54 -0
  102. data/generica/spec/factories/apiv1/product_factory.rb +12 -11
  103. data/generica/spec/models/admin/product_modifier_spec.rb +32 -0
  104. data/generica/spec/models/admin/taxon_relationships_factory_spec.rb +49 -0
  105. data/generica/spec/models/apiv1/message_spec.rb +16 -0
  106. data/generica/spec/models/apiv1/product_spec.rb +13 -12
  107. data/generica/spec/models/apiv1/translation_spec.rb +41 -0
  108. data/generica/spec/models/i18n/backend/active_record_spec.rb +27 -0
  109. data/lib/cloudrider/apiv1/base.rb +4 -4
  110. data/lib/cloudrider/apiv1/introductory_lobby_component.rb +1 -0
  111. data/lib/cloudrider/apiv1/introductory_lobby_sass.rb +9 -0
  112. data/lib/cloudrider/apiv1/table_booths_component.rb +6 -0
  113. data/lib/cloudrider/master_context.rb +105 -0
  114. data/lib/cloudrider/version.rb +1 -1
  115. metadata +43 -31
  116. data/generica/app/assets/javascripts/components/products-showcase.js.ls +0 -5
  117. data/generica/config/locales/ar.yml +0 -78
  118. data/generica/config/locales/ca.yml +0 -78
  119. data/generica/config/locales/cs.yml +0 -78
  120. data/generica/config/locales/da.yml +0 -78
  121. data/generica/config/locales/de.yml +0 -78
  122. data/generica/config/locales/el.yml +0 -78
  123. data/generica/config/locales/en.yml +0 -78
  124. data/generica/config/locales/es.yml +0 -78
  125. data/generica/config/locales/fi.yml +0 -78
  126. data/generica/config/locales/fr.yml +0 -78
  127. data/generica/config/locales/hu.yml +0 -78
  128. data/generica/config/locales/id.yml +0 -78
  129. data/generica/config/locales/is.yml +0 -78
  130. data/generica/config/locales/it.yml +0 -78
  131. data/generica/config/locales/ja.yml +0 -78
  132. data/generica/config/locales/ko.yml +0 -78
  133. data/generica/config/locales/ms.yml +0 -78
  134. data/generica/config/locales/nl.yml +0 -78
  135. data/generica/config/locales/no.yml +0 -78
  136. data/generica/config/locales/pl.yml +0 -78
  137. data/generica/config/locales/pt.yml +0 -78
  138. data/generica/config/locales/ru.yml +0 -78
  139. data/generica/config/locales/sv.yml +0 -78
  140. data/generica/config/locales/th.yml +0 -78
  141. data/generica/config/locales/tr.yml +0 -78
  142. data/generica/config/locales/zh-CN.yml +0 -78
  143. data/generica/config/locales/zh-TW.yml +0 -78
  144. data/lib/cloudrider/file_orders_maker.rb +0 -24
@@ -2,22 +2,49 @@
2
2
  #
3
3
  # Table name: apiv1_translations
4
4
  #
5
- # id :integer not null, primary key
6
- # locale :string(255) not null
7
- # key :string(255) not null
8
- # translated_text :string(255)
9
- # created_at :datetime
10
- # updated_at :datetime
5
+ # id :integer not null, primary key
6
+ # locale :string(255) not null
7
+ # key :string(255) not null
8
+ # value :text
9
+ # interpolations :text
10
+ # is_proc :boolean default(FALSE)
11
+ # created_at :datetime
12
+ # updated_at :datetime
11
13
  #
12
14
 
13
15
  class Apiv1::Translation < ActiveRecord::Base
16
+ TRUTHY_CHAR = "\001".freeze
17
+ FALSY_CHAR = "\002".freeze
18
+ serialize :value
19
+ serialize :interpolations, Array
20
+
14
21
  Languages = YAML.load(File.read Rails.root.join "config", "desired_languages.yml")["languages"]
15
22
  KnownLocales = Languages.keys
16
23
  include ::Elasticsearch::Model
17
24
  include ::Elasticsearch::Model::Callbacks
18
25
  class << self
19
26
  def known_languages
20
- select(:locale).uniq.map(&:locale)
27
+ select(:locale).uniq.map(&:locale).map(&:to_sym)
28
+ end
29
+ def locale(locale)
30
+ where(:locale => locale.to_s)
31
+ end
32
+
33
+ def lookup(keys, *separator)
34
+ column_name = connection.quote_column_name('key')
35
+ keys = Array(keys).map! { |key| key.to_s }
36
+
37
+ if separator.present?
38
+ warn "[DEPRECATION] Giving a separator to lookup is deprecated. " <<
39
+ "You can change the internal separator by overwriting FLATTEN_SEPARATOR."
40
+ end
41
+
42
+ namespace = "#{keys.last}#{I18n::Backend::Flatten::FLATTEN_SEPARATOR}%"
43
+ where("#{column_name} IN (?) OR #{column_name} LIKE ?", keys, namespace)
44
+ end
45
+
46
+ def available_locales
47
+ known_languages
21
48
  end
22
49
  end
23
50
  scope :order_alphabetically,
@@ -29,18 +56,19 @@ class Apiv1::Translation < ActiveRecord::Base
29
56
  scope :by_key,
30
57
  -> (k) { where key: k }
31
58
 
32
- after_create :_add_to_i18n_backend
33
-
34
59
  validates :locale,
35
60
  :key,
36
- :translated_text,
61
+ :value,
37
62
  presence: true
38
63
 
39
64
  validates :locale,
40
65
  inclusion: { in: KnownLocales }
41
66
 
42
67
  def to_ember_hash
43
- { id: id, locale: locale, key: key, translated_text: translated_text }
68
+ { id: id, locale: locale, key: key, translated_text: translated_text, value: value }
69
+ end
70
+ def tl_hash
71
+ { key => translated_text }
44
72
  end
45
73
 
46
74
  def as_indexed_json(options={})
@@ -50,8 +78,39 @@ class Apiv1::Translation < ActiveRecord::Base
50
78
  translated_text: translated_text
51
79
  }
52
80
  end
53
- private
54
- def _add_to_i18n_backend
55
- I18n.backend.store_translations locale, key => translated_text
81
+
82
+ def interpolates?(key)
83
+ self.interpolations.include?(key) if self.interpolations
84
+ end
85
+
86
+ def translated_text
87
+ read_attribute :value
88
+ end
89
+
90
+ def translated_text=(value)
91
+ write_attribute(:value, value)
92
+ end
93
+
94
+ def value
95
+ v = read_attribute(:value)
96
+ if is_proc
97
+ Kernel.eval(v)
98
+ elsif v == FALSY_CHAR
99
+ false
100
+ elsif v == TRUTHY_CHAR
101
+ true
102
+ else
103
+ v
104
+ end
105
+ end
106
+
107
+ def value=(v)
108
+ va = v
109
+ if v === false
110
+ va = FALSY_CHAR
111
+ elsif v === true
112
+ va = TRUTHY_CHAR
113
+ end
114
+ write_attribute(:value, va)
56
115
  end
57
116
  end
@@ -0,0 +1,49 @@
1
+ class I18n::Backend::ActiveRecord
2
+ include Singleton
3
+ include I18n::Backend::Base
4
+ include I18n::Backend::Flatten
5
+ include I18n::Backend::Memoize
6
+ include I18n::Backend::Cache
7
+ def available_locales
8
+ begin
9
+ ::Apiv1::Translation.available_locales
10
+ rescue ::ActiveRecord::StatementInvalid
11
+ []
12
+ end
13
+ end
14
+
15
+ def store_translations(locale, data, options = {})
16
+ escape = options.fetch(:escape, true)
17
+ flatten_translations(locale, data, escape, false).each do |key, value|
18
+ ::Apiv1::Translation.locale(locale).lookup(expand_keys(key)).delete_all
19
+ ::Apiv1::Translation.create(:locale => locale.to_s, :key => key.to_s, :value => value)
20
+ end
21
+ end
22
+
23
+ private
24
+
25
+ def lookup(locale, key, scope = [], options = {})
26
+ key = normalize_flat_keys(locale, key, scope, options[:separator])
27
+ result = ::Apiv1::Translation.locale(locale).lookup(key)
28
+
29
+ if result.empty?
30
+ nil
31
+ elsif result.first.key == key
32
+ result.first.value
33
+ else
34
+ chop_range = (key.size + I18n::Backend::Flatten::FLATTEN_SEPARATOR.size)..-1
35
+ result = result.inject({}) do |hash, r|
36
+ hash[r.key.slice(chop_range)] = r.value
37
+ hash
38
+ end
39
+ result.deep_symbolize_keys
40
+ end
41
+ end
42
+
43
+ # For a key :'foo.bar.baz' return ['foo', 'foo.bar', 'foo.bar.baz']
44
+ def expand_keys(key)
45
+ key.to_s.split(I18n::Backend::Flatten::FLATTEN_SEPARATOR).inject([]) do |keys, key|
46
+ keys << [keys.last, key].compact.join(I18n::Backend::Flatten::FLATTEN_SEPARATOR)
47
+ end
48
+ end
49
+ end
@@ -6,7 +6,21 @@
6
6
  tr-span en="about us"
7
7
  p.about-abstract
8
8
  <% about_us_sentences.each do |sentence| %>
9
- span.sentence
9
+ span.sentence.spacebar
10
10
  tr-span en=<%= sentence.inspect %>
11
11
  <% end %>
12
+ <% when :half_half %>
13
+ .horizontal-cell
14
+ .row
15
+ .small-12.medium-6.medium-offset-5.columns.text-right
16
+ h1.title.capitalize
17
+ tr-span en="about us"
18
+ h3.company-bs
19
+ tr-span en=<%= about_us_sentences.first.inspect %>
20
+ p.summaries
21
+ <% about_us_sentences.tail.each do |sentence| %>
22
+ span.spacebar
23
+ tr-span en=<%= sentence.inspect %>
24
+ <% end %>
25
+ .horizontal-cell.fishing-background
12
26
  <% end %>
@@ -68,4 +68,43 @@
68
68
  button class="button expand"
69
69
  span.capitalize
70
70
  tr-span en="submit"
71
+ <% :just_cards %>
72
+ .business-cards
73
+ .row
74
+ each employee in employees
75
+ .small-6.medium-4.large-4.columns
76
+ a.vertical-card href=employee.emailTo
77
+ .media
78
+ .mug-shot
79
+ img.th.mugshot src=employee.mugUrl
80
+ .title
81
+ .name= employee.personName
82
+ .job= employee.employeeTitle
83
+ .info
84
+ .thing
85
+ span.bold.capitalize.colon
86
+ tr-span en="email"
87
+ span.prespace= employee.email
88
+ .thing
89
+ span.bold.capitalize.colon
90
+ tr-span en="phone"
91
+ span.prespace= employee.phoneNumber
92
+ else
93
+ .small-6.medium-4.large-4.columns.end
94
+ .vertical-card
95
+ .mug-shot
96
+ i.fa.fa-cog.fa-spin.fa-3x
97
+ .name
98
+ tr-span en="loading employees"
99
+ .job
100
+ tr-span en="or perhaps you don't have employees yet"
101
+
102
+ .row
103
+ .small-12.columns
104
+ h3.call-us
105
+ tr-span en=<%= contact_us_call_to_action.inspect %>
106
+ span.spacebar
107
+ a.email-us href="mailto:<%= main_contact_email %>"
108
+ tr-span en="send us an email"
109
+ span.prespace <%= main_contact_email %>
71
110
  <% end %>
@@ -21,6 +21,20 @@
21
21
  padding: 15px;
22
22
  color: <%= abstract_text_color %>;
23
23
  }
24
- <% when :something_else %>
24
+ <% when :half_half %>
25
+ @include display-flex;
26
+ @include justify-content(space-between);
27
+ .horizontal-cell {
28
+ padding-top: 5rem;
29
+ padding-bottom: 5rem;
30
+ width: 50%;
31
+ }
32
+ .fishing-background {
33
+ background: {
34
+ image: <%= background_image_url %>;
35
+ size: <%= background_image_size %>;
36
+ position: <%= background_image_position %>;
37
+ }
38
+ }
25
39
  <% end %>
26
40
  }
@@ -24,5 +24,76 @@
24
24
  .text-left {
25
25
  padding-top: 15px;
26
26
  }
27
+ <% when :just_cards %>
28
+ background: {
29
+ color: #777;
30
+ }
31
+ .business-cards {
32
+ padding-top: 4rem;
33
+ padding-bottom: 4rem;
34
+ }
35
+ .name {
36
+ font-size: 1.3rem;
37
+ color: #eee;
38
+ padding-bottom: 10px;
39
+ font-weight: bold;
40
+ text-transform: capitalize;
41
+ }
42
+ .job {
43
+ font-style: italic;
44
+ color: #eee;
45
+ text-transform: capitalize;
46
+ }
47
+ .info {
48
+ color: #eee;
49
+ }
50
+ .thing {
51
+ padding-bottom: 5px;
52
+ }
53
+ .title {
54
+ padding-left: 15px;
55
+ }
56
+ .mugshot {
57
+ width: 50px;
58
+ }
59
+ .vertical-card {
60
+ padding: 2rem;
61
+ background-color: #555;
62
+ &:hover {
63
+ background-color: darken(#008cba, 20%);
64
+ }
65
+ border: 1px solid #444;
66
+ color: #eee;
67
+ height: 200px;
68
+ @include display-flex;
69
+ @include flex-direction(column);
70
+ @include justify-content(space-between);
71
+ @include transition-property(background-color);
72
+ @include transition-duration(300ms);
73
+ @include transition-timing-function(ease-out);
74
+ }
75
+ .media {
76
+ @include display-flex;
77
+ @include flex-direction(row);
78
+ @include justify-content(flex-start);
79
+ }
80
+ .call-us {
81
+ margin-top: 3rem;
82
+ color: #eee;
83
+ text-align: center;
84
+ }
85
+ .email-us {
86
+ @include transition-property(color);
87
+ @include transition-duration(300ms);
88
+ @include transition-timing-function(ease-out);
89
+ color: #eee;
90
+ text-decoration: underline;
91
+ &:hover {
92
+ color: ligthen(#008cba, 10%);
93
+ }
94
+ }
95
+ .spacebar {
96
+ margin-left: 15px;
97
+ }
27
98
  <% end %>
28
99
  }
@@ -0,0 +1,7 @@
1
+ I18n::Backend::Simple.send(:include, I18n::Backend::Memoize)
2
+ I18n::Backend::Simple.send(:include, I18n::Backend::Pluralization)
3
+ I18n::Backend::ActiveRecord.send :include, I18n::Backend::Flatten
4
+ I18n::Backend::ActiveRecord.send :include, I18n::Backend::Memoize
5
+ I18n::Backend::ActiveRecord.send :include, I18n::Backend::Cache
6
+ I18n.cache_store = ActiveSupport::Cache.lookup_store(:memory_store)
7
+ I18n.backend = I18n::Backend::Chain.new(I18n.backend, I18n::Backend::ActiveRecord.instance)
@@ -11,6 +11,8 @@ Rails.application.routes.draw do
11
11
  resources :pictures, only: [:destroy], controller: 'pictures/destroy'
12
12
  resources :taxons, only: [:index], controller: 'taxons/index'
13
13
  resources :taxons, only: [:show], controller: 'taxons/show'
14
+ resources :taxons, only: [:destroy], controller: 'taxons/destroy'
15
+ resources :taxons, only: [:update], controller: 'taxons/update'
14
16
  resources :employees, only: [:show], controller: 'employees/show'
15
17
  resources :employees, only: [:index], controller: 'employees/index'
16
18
  resources :translations, only: [:show], controller: 'translations/show'
@@ -18,6 +20,8 @@ Rails.application.routes.draw do
18
20
  resources :translations, only: [:create], controller: 'translations/create'
19
21
  resources :translations, only: [:update], controller: 'translations/update'
20
22
  resources :i18n_translations, only: [:index], controller: 'i18n_translations/index'
23
+ resources :messages, only: [:create], controller: 'messages/create'
24
+ resources :messages, only: [:index], controller: 'messages/index'
21
25
  end
22
26
 
23
27
  namespace :admin do
@@ -26,9 +30,8 @@ Rails.application.routes.draw do
26
30
 
27
31
  resources :admin_employees, only: [:create], controller: 'employees/create'
28
32
 
29
- resources :taxons, only: [:create], controller: 'taxons/create'
33
+ resources :admin_taxons, only: [:create], controller: 'taxons/create'
30
34
  resources :taxons, only: [:update], controller: 'taxons/update'
31
- resources :taxons, only: [:destroy], controller: 'taxons/destroy'
32
35
 
33
36
  resources :admin_sessions, only: [:create], controller: 'sessions/create'
34
37
  end
@@ -3,7 +3,9 @@ class CreateApiv1Translations < ActiveRecord::Migration
3
3
  create_table :apiv1_translations do |t|
4
4
  t.string :locale, null: false
5
5
  t.string :key, null: false
6
- t.string :translated_text
6
+ t.text :value
7
+ t.text :interpolations
8
+ t.boolean :is_proc, default: false
7
9
  t.timestamps
8
10
  end
9
11
  add_index :apiv1_translations, [:key, :locale], unique: true
@@ -0,0 +1,5 @@
1
+ class AddShowcasePriorityToApiv1Products < ActiveRecord::Migration
2
+ def change
3
+ add_column :apiv1_products, :showcase_order, :integer
4
+ end
5
+ end
@@ -0,0 +1,12 @@
1
+ class CreateApiv1Messages < ActiveRecord::Migration
2
+ def change
3
+ create_table :apiv1_messages do |t|
4
+ t.string :from_company
5
+ t.string :sender_email
6
+ t.string :subject_text
7
+ t.text :message
8
+
9
+ t.timestamps
10
+ end
11
+ end
12
+ end
@@ -11,7 +11,7 @@
11
11
  #
12
12
  # It's strongly recommended that you check this file into your version control system.
13
13
 
14
- ActiveRecord::Schema.define(version: 20141021003734) do
14
+ ActiveRecord::Schema.define(version: 20141107174821) do
15
15
 
16
16
  create_table "admin_users", force: true do |t|
17
17
  t.string "email", null: false
@@ -44,7 +44,6 @@ ActiveRecord::Schema.define(version: 20141021003734) do
44
44
  t.string "employee_title"
45
45
  t.string "email"
46
46
  t.string "phone_number"
47
- t.integer "picture_id"
48
47
  t.datetime "created_at"
49
48
  t.datetime "updated_at"
50
49
  end
@@ -60,22 +59,15 @@ ActiveRecord::Schema.define(version: 20141021003734) do
60
59
  add_index "apiv1_listings_taxons", ["listing_id", "listing_type"], name: "index_apiv1_listings_taxons_on_listing_id_and_listing_type", using: :btree
61
60
  add_index "apiv1_listings_taxons", ["taxon_id"], name: "index_apiv1_listings_taxons_on_taxon_id", using: :btree
62
61
 
63
- create_table "apiv1_offers", force: true do |t|
64
- t.integer "listing_id"
65
- t.string "listing_type"
66
- t.decimal "price", precision: 17, scale: 4
67
- t.string "price_unit"
68
- t.string "incoterm"
69
- t.string "location_name"
70
- t.string "buyer_company"
71
- t.string "buyer_email"
62
+ create_table "apiv1_messages", force: true do |t|
63
+ t.string "from_company"
64
+ t.string "sender_email"
65
+ t.string "subject_text"
72
66
  t.text "message"
73
67
  t.datetime "created_at"
74
68
  t.datetime "updated_at"
75
69
  end
76
70
 
77
- add_index "apiv1_offers", ["listing_id", "listing_type"], name: "index_apiv1_offers_on_listing_id_and_listing_type", using: :btree
78
-
79
71
  create_table "apiv1_pictures", force: true do |t|
80
72
  t.integer "depictable_id"
81
73
  t.string "depictable_type"
@@ -100,6 +92,7 @@ ActiveRecord::Schema.define(version: 20141021003734) do
100
92
  t.text "others"
101
93
  t.datetime "created_at"
102
94
  t.datetime "updated_at"
95
+ t.integer "showcase_order"
103
96
  end
104
97
 
105
98
  add_index "apiv1_products", ["permalink"], name: "index_apiv1_products_on_permalink", using: :btree
@@ -120,9 +113,11 @@ ActiveRecord::Schema.define(version: 20141021003734) do
120
113
  add_index "apiv1_taxons", ["permalink", "root_genus"], name: "index_apiv1_taxons_on_permalink_and_root_genus", unique: true, using: :btree
121
114
 
122
115
  create_table "apiv1_translations", force: true do |t|
123
- t.string "locale", null: false
124
- t.string "key", null: false
125
- t.string "translated_text"
116
+ t.string "locale", null: false
117
+ t.string "key", null: false
118
+ t.text "value"
119
+ t.text "interpolations"
120
+ t.boolean "is_proc", default: false
126
121
  t.datetime "created_at"
127
122
  t.datetime "updated_at"
128
123
  end