carrier 0.0.6 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (156) hide show
  1. data/Gemfile +1 -1
  2. data/TODO +1 -0
  3. data/VERSION +1 -1
  4. data/app/assets/images/carrier/chosen-sprite.png +0 -0
  5. data/app/assets/javascripts/carrier/chosen.jquery.min.js +10 -0
  6. data/app/assets/javascripts/carrier/chosen.js +5 -0
  7. data/app/assets/stylesheets/{carrier.css → carrier/carrier.css} +43 -5
  8. data/app/assets/stylesheets/carrier/chosen.css +367 -0
  9. data/app/controllers/carrier/chains_controller.rb +7 -5
  10. data/app/controllers/carrier/messages_controller.rb +4 -6
  11. data/app/helpers/carrier/application_helper.rb +5 -8
  12. data/app/models/carrier/chain.rb +2 -2
  13. data/app/models/carrier/message.rb +23 -19
  14. data/app/models/carrier/message/validations.rb +1 -1
  15. data/app/validators/recipients/exclude_self.rb +1 -1
  16. data/app/validators/recipients/recipients_presence_validator.rb +8 -0
  17. data/app/validators/recipients/right_recipients_validator.rb +10 -0
  18. data/app/views/carrier/messages/_chosen.html.erb +7 -0
  19. data/app/views/carrier/messages/_form.html.erb +30 -24
  20. data/app/views/carrier/messages/_head.html.erb +1 -6
  21. data/app/views/carrier/messages/_index_message.html.erb +2 -2
  22. data/app/views/carrier/messages/{_message_expanded.html.erb → _message.html.erb} +0 -0
  23. data/app/views/carrier/messages/_message_collapsed.html.erb +1 -1
  24. data/app/views/carrier/messages/_nav_messages.html.erb +5 -5
  25. data/app/views/carrier/messages/_recipients.html.erb +1 -0
  26. data/app/views/carrier/messages/_reply.html.erb +17 -14
  27. data/app/views/carrier/messages/as_sent.html.erb +4 -0
  28. data/app/views/carrier/messages/create.js.erb +1 -1
  29. data/app/views/carrier/messages/index.html.erb +12 -1
  30. data/app/views/carrier/messages/new.html.erb +6 -0
  31. data/app/views/carrier/messages/reply.js.erb +1 -1
  32. data/app/views/carrier/messages/show.html.erb +34 -32
  33. data/app/views/layouts/carrier/application.html.erb +2 -2
  34. data/app/views/partials/_error_messages_for.html.erb +2 -2
  35. data/carrier.gemspec +21 -115
  36. data/config/locales/carrier.en.yml +11 -5
  37. data/config/locales/carrier.ru.yml +12 -1
  38. data/config/routes.rb +6 -2
  39. data/lib/carrier.rb +0 -1
  40. data/lib/carrier/configuration.rb +6 -8
  41. data/lib/carrier/configuration/routes.rb +19 -0
  42. data/lib/carrier/configuration/user.rb +24 -0
  43. data/lib/carrier/rails/engine.rb +15 -4
  44. data/lib/carrier/rails/helpers.rb +17 -3
  45. data/lib/carrier/version.rb +3 -0
  46. data/spec/dummy/config/initializers/carrier.rb +2 -0
  47. data/spec/integration/carrier_spec.rb +4 -2
  48. data/spec/requests/main_spec.rb +0 -1
  49. metadata +134 -223
  50. data/app/assets/javascripts/autocomplete.js +0 -4
  51. data/app/assets/javascripts/autocomplete/i18n/jquery-ui-i18n.js +0 -1379
  52. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-af.js +0 -23
  53. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-ar-DZ.js +0 -23
  54. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-ar.js +0 -23
  55. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-az.js +0 -23
  56. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-bg.js +0 -24
  57. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-bs.js +0 -23
  58. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-ca.js +0 -23
  59. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-cs.js +0 -23
  60. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-da.js +0 -23
  61. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-de.js +0 -23
  62. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-el.js +0 -23
  63. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-en-AU.js +0 -23
  64. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-en-GB.js +0 -23
  65. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-en-NZ.js +0 -23
  66. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-eo.js +0 -23
  67. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-es.js +0 -23
  68. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-et.js +0 -23
  69. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-eu.js +0 -23
  70. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-fa.js +0 -23
  71. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-fi.js +0 -23
  72. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-fo.js +0 -23
  73. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-fr-CH.js +0 -23
  74. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-fr.js +0 -25
  75. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-gl.js +0 -23
  76. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-he.js +0 -23
  77. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-hr.js +0 -23
  78. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-hu.js +0 -23
  79. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-hy.js +0 -23
  80. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-id.js +0 -23
  81. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-is.js +0 -23
  82. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-it.js +0 -23
  83. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-ja.js +0 -23
  84. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-ko.js +0 -23
  85. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-kz.js +0 -23
  86. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-lt.js +0 -23
  87. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-lv.js +0 -23
  88. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-ml.js +0 -23
  89. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-ms.js +0 -23
  90. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-nl.js +0 -23
  91. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-no.js +0 -23
  92. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-pl.js +0 -23
  93. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-pt-BR.js +0 -23
  94. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-pt.js +0 -22
  95. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-rm.js +0 -21
  96. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-ro.js +0 -26
  97. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-ru.js +0 -23
  98. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-sk.js +0 -23
  99. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-sl.js +0 -24
  100. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-sq.js +0 -23
  101. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-sr-SR.js +0 -23
  102. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-sr.js +0 -23
  103. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-sv.js +0 -23
  104. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-ta.js +0 -23
  105. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-th.js +0 -23
  106. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-tj.js +0 -23
  107. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-tr.js +0 -23
  108. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-uk.js +0 -23
  109. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-vi.js +0 -23
  110. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-zh-CN.js +0 -23
  111. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-zh-HK.js +0 -23
  112. data/app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-zh-TW.js +0 -23
  113. data/app/assets/javascripts/autocomplete/jquery.ui.autocomplete.min.js +0 -32
  114. data/app/assets/javascripts/autocomplete/jquery.ui.core.min.js +0 -17
  115. data/app/assets/javascripts/autocomplete/jquery.ui.position.min.js +0 -16
  116. data/app/assets/javascripts/autocomplete/jquery.ui.widget.min.js +0 -15
  117. data/app/assets/javascripts/carrier.js +0 -8
  118. data/app/assets/javascripts/rich-multiselect/jquery-ui.min.js +0 -405
  119. data/app/assets/javascripts/rich-multiselect/locale/ui-multiselect-de.js +0 -11
  120. data/app/assets/javascripts/rich-multiselect/locale/ui-multiselect-en.js +0 -11
  121. data/app/assets/javascripts/rich-multiselect/locale/ui-multiselect-es.js +0 -11
  122. data/app/assets/javascripts/rich-multiselect/locale/ui-multiselect-fr.js +0 -11
  123. data/app/assets/javascripts/rich-multiselect/locale/ui-multiselect-it.js +0 -13
  124. data/app/assets/javascripts/rich-multiselect/plugins/localisation/jquery.localisation-min.js +0 -7
  125. data/app/assets/javascripts/rich-multiselect/plugins/localisation/jquery.localisation-pack.js +0 -7
  126. data/app/assets/javascripts/rich-multiselect/plugins/localisation/jquery.localisation.js +0 -99
  127. data/app/assets/javascripts/rich-multiselect/plugins/scrollTo/README.txt +0 -37
  128. data/app/assets/javascripts/rich-multiselect/plugins/scrollTo/changes.txt +0 -82
  129. data/app/assets/javascripts/rich-multiselect/plugins/scrollTo/jquery.scrollTo-min.js +0 -11
  130. data/app/assets/javascripts/rich-multiselect/plugins/scrollTo/jquery.scrollTo.js +0 -207
  131. data/app/assets/javascripts/rich-multiselect/ui.multiselect.js +0 -339
  132. data/app/assets/stylesheets/carrier_rich.css +0 -48
  133. data/app/assets/stylesheets/carrier_simple.css +0 -15
  134. data/app/assets/stylesheets/rich-multiselect/ui.multiselect.css +0 -30
  135. data/app/assets/stylesheets/ui-lightness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  136. data/app/assets/stylesheets/ui-lightness/images/ui-bg_flat_55_fbf9ee_40x100.png +0 -0
  137. data/app/assets/stylesheets/ui-lightness/images/ui-bg_flat_65_ffffff_40x100.png +0 -0
  138. data/app/assets/stylesheets/ui-lightness/images/ui-bg_flat_75_cccccc_40x100.png +0 -0
  139. data/app/assets/stylesheets/ui-lightness/images/ui-bg_flat_75_dadada_40x100.png +0 -0
  140. data/app/assets/stylesheets/ui-lightness/images/ui-bg_flat_75_e6e6e6_40x100.png +0 -0
  141. data/app/assets/stylesheets/ui-lightness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  142. data/app/assets/stylesheets/ui-lightness/images/ui-bg_flat_95_fef1ec_40x100.png +0 -0
  143. data/app/assets/stylesheets/ui-lightness/images/ui-icons_222222_256x240.png +0 -0
  144. data/app/assets/stylesheets/ui-lightness/images/ui-icons_2e83ff_256x240.png +0 -0
  145. data/app/assets/stylesheets/ui-lightness/images/ui-icons_454545_256x240.png +0 -0
  146. data/app/assets/stylesheets/ui-lightness/images/ui-icons_888888_256x240.png +0 -0
  147. data/app/assets/stylesheets/ui-lightness/images/ui-icons_cd0a0a_256x240.png +0 -0
  148. data/app/assets/stylesheets/ui-lightness/jquery-ui-1.8.14.custom.css +0 -342
  149. data/app/helpers/carrier/post_helper.rb +0 -4
  150. data/app/validators/recipients/recipients_validator.rb +0 -10
  151. data/app/views/carrier/messages/rich/_multiselect.html.erb +0 -18
  152. data/app/views/carrier/messages/rich/_recipients.html.erb +0 -6
  153. data/app/views/carrier/messages/simple/_autocomplete.html.erb +0 -45
  154. data/app/views/carrier/messages/simple/_autocomplete_includes.html.erb +0 -7
  155. data/app/views/carrier/messages/simple/_recipients.html.erb +0 -3
  156. data/lib/carrier/configuration/ui.rb +0 -28
@@ -0,0 +1,19 @@
1
+ require 'singleton'
2
+ module Carrier
3
+ class Configuration
4
+ class Routes
5
+ include Singleton
6
+
7
+ attr_writer :prefix_for_messages
8
+
9
+ def prefix_for_messages
10
+ @prefix_for_messages || "/messages"
11
+ end
12
+
13
+ def reset_to_defaults!
14
+ @prefix_for_messages = nil
15
+ end
16
+ end # module Routes
17
+ end # class Configuration
18
+ end # module Carrier
19
+
@@ -0,0 +1,24 @@
1
+ require 'singleton'
2
+
3
+ module Carrier
4
+ class Configuration
5
+ class User
6
+ include Singleton
7
+
8
+ attr_writer :key_attr
9
+
10
+ def key_attr
11
+ @key_attr || default_key_attr
12
+ end
13
+
14
+ def default_key_attr
15
+ :id
16
+ end
17
+
18
+ def reset_to_defaults!
19
+ @key_attr = nil
20
+ end
21
+ end # module User
22
+ end # class Configuration
23
+ end # module Carrier
24
+
@@ -36,15 +36,26 @@ module Carrier
36
36
  engine_name :carrier
37
37
  isolate_namespace Carrier
38
38
 
39
+ if ::Rails.version >= "3.1"
40
+ initializer :assets do |config|
41
+ ::Rails.application.config.assets.precompile += %w(
42
+ carrier/carrier.css
43
+ carrier/chosen.css
44
+ carrier/chosen.js
45
+ )
46
+ end
47
+ end
48
+
39
49
  initializer "carrier" do
40
- Carrier.models_requires
41
- Carrier.carrier_requires
42
- Carrier.check_unread!
43
- Carrier.include_helpers
50
+ #Carrier.models_requires
44
51
  end
45
52
 
46
53
  config.to_prepare do
47
54
  Carrier.carrier_requires
55
+ Carrier.check_unread!
56
+ # Carrier.models_requires
57
+
58
+ Carrier.include_helpers
48
59
  end
49
60
  end
50
61
  end
@@ -5,11 +5,20 @@ module Carrier
5
5
  def self.included base
6
6
  base.send :helper_method, :unread_messages, :all_messages
7
7
  base.send :helper_method, :current_user
8
- base.send :helper_method, :carrier_ui
8
+ base.send :helper_method, :prefix_for_messages
9
+ base.send :helper_method, :find_method_for_user
9
10
  end
10
11
 
11
- def carrier_ui
12
- Carrier.config.ui.style
12
+ def find_method_for_user
13
+ :"find_by_#{user_key_attr}"
14
+ end
15
+
16
+ def user_key_attr
17
+ carrier_config.user.key_attr
18
+ end
19
+
20
+ def prefix_for_messages
21
+ carrier_config.routes.prefix_for_messages
13
22
  end
14
23
 
15
24
  def current_user
@@ -25,6 +34,11 @@ module Carrier
25
34
  @unread_messages ||= Carrier::Message.unread(current_user)
26
35
  end
27
36
 
37
+ private
38
+
39
+ def carrier_config
40
+ Carrier.config
41
+ end
28
42
  end
29
43
  end
30
44
  end
@@ -0,0 +1,3 @@
1
+ module Carrier
2
+ VERSION = "0.1.0"
3
+ end
@@ -1,3 +1,5 @@
1
1
  Carrier.configure do |config|
2
2
  config.models.tables = {:message => "messages", :chain => "chains"}
3
+ # config.ui.set :simple
4
+ # config.routes.prefix_for_messages = "/inbox"
3
5
  end
@@ -49,8 +49,10 @@ feature "Carrier", %q{
49
49
  scenario "Creating a message" do
50
50
  visit "/carrier/messages"
51
51
  click_link "New"
52
-
53
- fill_in "Recipients", :with => "marixa, miloviza"
52
+
53
+ select 'marixa', :from => "Recipients"
54
+ select 'miloviza', :from => "Recipients"
55
+
54
56
  fill_in "Subject", :with => "Тема тестового сообщения"
55
57
  fill_in "Message", :with => "тестовое сообщение"
56
58
 
@@ -26,6 +26,5 @@ describe "Requests" do
26
26
  get '/carrier/messages/archive'
27
27
  response.status.should be(200)
28
28
  end
29
-
30
29
  end
31
30
  end
metadata CHANGED
@@ -1,168 +1,171 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: carrier
3
- version: !ruby/object:Gem::Version
4
- version: 0.0.6
3
+ version: !ruby/object:Gem::Version
5
4
  prerelease:
5
+ version: 0.1.0
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - stanislaw
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-11-15 00:00:00.000000000Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
12
+
13
+ date: 2011-12-23 00:00:00 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
15
16
  name: require_all
16
- requirement: &76393070 !ruby/object:Gem::Requirement
17
+ requirement: &id001 !ruby/object:Gem::Requirement
17
18
  none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: '0'
19
+ requirements:
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: "0"
22
23
  type: :runtime
23
24
  prerelease: false
24
- version_requirements: *76393070
25
- - !ruby/object:Gem::Dependency
25
+ version_requirements: *id001
26
+ - !ruby/object:Gem::Dependency
26
27
  name: kaminari
27
- requirement: &76392020 !ruby/object:Gem::Requirement
28
+ requirement: &id002 !ruby/object:Gem::Requirement
28
29
  none: false
29
- requirements:
30
- - - ! '>='
31
- - !ruby/object:Gem::Version
32
- version: '0'
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: "0"
33
34
  type: :runtime
34
35
  prerelease: false
35
- version_requirements: *76392020
36
- - !ruby/object:Gem::Dependency
36
+ version_requirements: *id002
37
+ - !ruby/object:Gem::Dependency
37
38
  name: unread
38
- requirement: &76391520 !ruby/object:Gem::Requirement
39
+ requirement: &id003 !ruby/object:Gem::Requirement
39
40
  none: false
40
- requirements:
41
- - - ! '>='
42
- - !ruby/object:Gem::Version
43
- version: '0'
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ version: "0"
44
45
  type: :runtime
45
46
  prerelease: false
46
- version_requirements: *76391520
47
- - !ruby/object:Gem::Dependency
47
+ version_requirements: *id003
48
+ - !ruby/object:Gem::Dependency
48
49
  name: sugar-high
49
- requirement: &76391030 !ruby/object:Gem::Requirement
50
+ requirement: &id004 !ruby/object:Gem::Requirement
50
51
  none: false
51
- requirements:
52
- - - ! '>='
53
- - !ruby/object:Gem::Version
54
- version: '0'
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: "0"
55
56
  type: :runtime
56
57
  prerelease: false
57
- version_requirements: *76391030
58
- - !ruby/object:Gem::Dependency
58
+ version_requirements: *id004
59
+ - !ruby/object:Gem::Dependency
59
60
  name: sweetloader
60
- requirement: &76390550 !ruby/object:Gem::Requirement
61
+ requirement: &id005 !ruby/object:Gem::Requirement
61
62
  none: false
62
- requirements:
63
- - - ! '>='
64
- - !ruby/object:Gem::Version
65
- version: '0'
63
+ requirements:
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: "0"
66
67
  type: :runtime
67
68
  prerelease: false
68
- version_requirements: *76390550
69
- - !ruby/object:Gem::Dependency
69
+ version_requirements: *id005
70
+ - !ruby/object:Gem::Dependency
70
71
  name: rails
71
- requirement: &76390010 !ruby/object:Gem::Requirement
72
+ requirement: &id006 !ruby/object:Gem::Requirement
72
73
  none: false
73
- requirements:
74
- - - ! '>='
75
- - !ruby/object:Gem::Version
76
- version: 3.1.0
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: "3.1"
77
78
  type: :development
78
79
  prerelease: false
79
- version_requirements: *76390010
80
- - !ruby/object:Gem::Dependency
80
+ version_requirements: *id006
81
+ - !ruby/object:Gem::Dependency
81
82
  name: unicorn
82
- requirement: &76389650 !ruby/object:Gem::Requirement
83
+ requirement: &id007 !ruby/object:Gem::Requirement
83
84
  none: false
84
- requirements:
85
- - - ! '>='
86
- - !ruby/object:Gem::Version
87
- version: '0'
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: "0"
88
89
  type: :development
89
90
  prerelease: false
90
- version_requirements: *76389650
91
- - !ruby/object:Gem::Dependency
91
+ version_requirements: *id007
92
+ - !ruby/object:Gem::Dependency
92
93
  name: mysql2
93
- requirement: &76389190 !ruby/object:Gem::Requirement
94
+ requirement: &id008 !ruby/object:Gem::Requirement
94
95
  none: false
95
- requirements:
96
- - - ! '>='
97
- - !ruby/object:Gem::Version
98
- version: '0'
96
+ requirements:
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ version: "0"
99
100
  type: :development
100
101
  prerelease: false
101
- version_requirements: *76389190
102
- - !ruby/object:Gem::Dependency
102
+ version_requirements: *id008
103
+ - !ruby/object:Gem::Dependency
103
104
  name: devise
104
- requirement: &76388720 !ruby/object:Gem::Requirement
105
+ requirement: &id009 !ruby/object:Gem::Requirement
105
106
  none: false
106
- requirements:
107
- - - ! '>='
108
- - !ruby/object:Gem::Version
109
- version: '0'
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: "0"
110
111
  type: :development
111
112
  prerelease: false
112
- version_requirements: *76388720
113
- - !ruby/object:Gem::Dependency
113
+ version_requirements: *id009
114
+ - !ruby/object:Gem::Dependency
114
115
  name: rake-kit
115
- requirement: &76388350 !ruby/object:Gem::Requirement
116
+ requirement: &id010 !ruby/object:Gem::Requirement
116
117
  none: false
117
- requirements:
118
- - - ! '>='
119
- - !ruby/object:Gem::Version
120
- version: '0'
118
+ requirements:
119
+ - - ">="
120
+ - !ruby/object:Gem::Version
121
+ version: "0"
121
122
  type: :development
122
123
  prerelease: false
123
- version_requirements: *76388350
124
- - !ruby/object:Gem::Dependency
124
+ version_requirements: *id010
125
+ - !ruby/object:Gem::Dependency
125
126
  name: cutter
126
- requirement: &76387830 !ruby/object:Gem::Requirement
127
+ requirement: &id011 !ruby/object:Gem::Requirement
127
128
  none: false
128
- requirements:
129
- - - ! '>='
130
- - !ruby/object:Gem::Version
131
- version: '0'
129
+ requirements:
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: "0"
132
133
  type: :development
133
134
  prerelease: false
134
- version_requirements: *76387830
135
- - !ruby/object:Gem::Dependency
135
+ version_requirements: *id011
136
+ - !ruby/object:Gem::Dependency
136
137
  name: jeweler
137
- requirement: &76387220 !ruby/object:Gem::Requirement
138
+ requirement: &id012 !ruby/object:Gem::Requirement
138
139
  none: false
139
- requirements:
140
- - - ! '>='
141
- - !ruby/object:Gem::Version
140
+ requirements:
141
+ - - ">="
142
+ - !ruby/object:Gem::Version
142
143
  version: 1.6.4
143
144
  type: :development
144
145
  prerelease: false
145
- version_requirements: *76387220
146
- - !ruby/object:Gem::Dependency
146
+ version_requirements: *id012
147
+ - !ruby/object:Gem::Dependency
147
148
  name: rspec-rails
148
- requirement: &76340560 !ruby/object:Gem::Requirement
149
+ requirement: &id013 !ruby/object:Gem::Requirement
149
150
  none: false
150
- requirements:
151
- - - ! '>='
152
- - !ruby/object:Gem::Version
153
- version: '2.5'
151
+ requirements:
152
+ - - ">="
153
+ - !ruby/object:Gem::Version
154
+ version: "2.5"
154
155
  type: :development
155
156
  prerelease: false
156
- version_requirements: *76340560
157
- description: Raw github-like messaging system to reuse across Rails apps. Acts as
158
- Rails 3.1 mountable engine. Fast and robust.
157
+ version_requirements: *id013
158
+ description: Raw github-like messaging system to reuse across Rails apps. Acts as Rails 3.1 mountable engine. Fast and robust.
159
159
  email: s.pankevich@gmail.com
160
160
  executables: []
161
+
161
162
  extensions: []
162
- extra_rdoc_files:
163
+
164
+ extra_rdoc_files:
163
165
  - LICENSE.txt
164
166
  - README.textile
165
- files:
167
+ - TODO
168
+ files:
166
169
  - .document
167
170
  - .rspec
168
171
  - Gemfile
@@ -170,131 +173,39 @@ files:
170
173
  - MIT-LICENSE
171
174
  - README.textile
172
175
  - Rakefile
176
+ - TODO
173
177
  - VERSION
174
178
  - app/assets/images/.gitkeep
175
- - app/assets/javascripts/autocomplete.js
176
- - app/assets/javascripts/autocomplete/i18n/jquery-ui-i18n.js
177
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-af.js
178
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-ar-DZ.js
179
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-ar.js
180
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-az.js
181
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-bg.js
182
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-bs.js
183
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-ca.js
184
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-cs.js
185
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-da.js
186
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-de.js
187
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-el.js
188
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-en-AU.js
189
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-en-GB.js
190
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-en-NZ.js
191
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-eo.js
192
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-es.js
193
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-et.js
194
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-eu.js
195
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-fa.js
196
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-fi.js
197
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-fo.js
198
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-fr-CH.js
199
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-fr.js
200
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-gl.js
201
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-he.js
202
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-hr.js
203
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-hu.js
204
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-hy.js
205
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-id.js
206
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-is.js
207
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-it.js
208
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-ja.js
209
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-ko.js
210
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-kz.js
211
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-lt.js
212
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-lv.js
213
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-ml.js
214
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-ms.js
215
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-nl.js
216
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-no.js
217
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-pl.js
218
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-pt-BR.js
219
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-pt.js
220
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-rm.js
221
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-ro.js
222
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-ru.js
223
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-sk.js
224
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-sl.js
225
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-sq.js
226
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-sr-SR.js
227
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-sr.js
228
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-sv.js
229
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-ta.js
230
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-th.js
231
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-tj.js
232
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-tr.js
233
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-uk.js
234
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-vi.js
235
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-zh-CN.js
236
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-zh-HK.js
237
- - app/assets/javascripts/autocomplete/i18n/jquery.ui.datepicker-zh-TW.js
238
- - app/assets/javascripts/autocomplete/jquery.ui.autocomplete.min.js
239
- - app/assets/javascripts/autocomplete/jquery.ui.core.min.js
240
- - app/assets/javascripts/autocomplete/jquery.ui.position.min.js
241
- - app/assets/javascripts/autocomplete/jquery.ui.widget.min.js
242
- - app/assets/javascripts/carrier.js
179
+ - app/assets/images/carrier/chosen-sprite.png
180
+ - app/assets/javascripts/carrier/chosen.jquery.min.js
181
+ - app/assets/javascripts/carrier/chosen.js
243
182
  - app/assets/javascripts/jquery.min.js
244
183
  - app/assets/javascripts/rails.js
245
- - app/assets/javascripts/rich-multiselect/jquery-ui.min.js
246
- - app/assets/javascripts/rich-multiselect/locale/ui-multiselect-de.js
247
- - app/assets/javascripts/rich-multiselect/locale/ui-multiselect-en.js
248
- - app/assets/javascripts/rich-multiselect/locale/ui-multiselect-es.js
249
- - app/assets/javascripts/rich-multiselect/locale/ui-multiselect-fr.js
250
- - app/assets/javascripts/rich-multiselect/locale/ui-multiselect-it.js
251
- - app/assets/javascripts/rich-multiselect/plugins/localisation/jquery.localisation-min.js
252
- - app/assets/javascripts/rich-multiselect/plugins/localisation/jquery.localisation-pack.js
253
- - app/assets/javascripts/rich-multiselect/plugins/localisation/jquery.localisation.js
254
- - app/assets/javascripts/rich-multiselect/plugins/scrollTo/README.txt
255
- - app/assets/javascripts/rich-multiselect/plugins/scrollTo/changes.txt
256
- - app/assets/javascripts/rich-multiselect/plugins/scrollTo/jquery.scrollTo-min.js
257
- - app/assets/javascripts/rich-multiselect/plugins/scrollTo/jquery.scrollTo.js
258
- - app/assets/javascripts/rich-multiselect/ui.multiselect.js
259
- - app/assets/stylesheets/carrier.css
260
- - app/assets/stylesheets/carrier_rich.css
261
- - app/assets/stylesheets/carrier_simple.css
262
- - app/assets/stylesheets/rich-multiselect/ui.multiselect.css
263
- - app/assets/stylesheets/ui-lightness/images/ui-bg_flat_0_aaaaaa_40x100.png
264
- - app/assets/stylesheets/ui-lightness/images/ui-bg_flat_55_fbf9ee_40x100.png
265
- - app/assets/stylesheets/ui-lightness/images/ui-bg_flat_65_ffffff_40x100.png
266
- - app/assets/stylesheets/ui-lightness/images/ui-bg_flat_75_cccccc_40x100.png
267
- - app/assets/stylesheets/ui-lightness/images/ui-bg_flat_75_dadada_40x100.png
268
- - app/assets/stylesheets/ui-lightness/images/ui-bg_flat_75_e6e6e6_40x100.png
269
- - app/assets/stylesheets/ui-lightness/images/ui-bg_flat_75_ffffff_40x100.png
270
- - app/assets/stylesheets/ui-lightness/images/ui-bg_flat_95_fef1ec_40x100.png
271
- - app/assets/stylesheets/ui-lightness/images/ui-icons_222222_256x240.png
272
- - app/assets/stylesheets/ui-lightness/images/ui-icons_2e83ff_256x240.png
273
- - app/assets/stylesheets/ui-lightness/images/ui-icons_454545_256x240.png
274
- - app/assets/stylesheets/ui-lightness/images/ui-icons_888888_256x240.png
275
- - app/assets/stylesheets/ui-lightness/images/ui-icons_cd0a0a_256x240.png
276
- - app/assets/stylesheets/ui-lightness/jquery-ui-1.8.14.custom.css
184
+ - app/assets/stylesheets/carrier/carrier.css
185
+ - app/assets/stylesheets/carrier/chosen.css
277
186
  - app/controllers/carrier/application_controller.rb
278
187
  - app/controllers/carrier/chains_controller.rb
279
188
  - app/controllers/carrier/messages_controller.rb
280
189
  - app/helpers/carrier/application_helper.rb
281
- - app/helpers/carrier/post_helper.rb
282
190
  - app/models/carrier/chain.rb
283
191
  - app/models/carrier/message.rb
284
192
  - app/models/carrier/message/scopes.rb
285
193
  - app/models/carrier/message/subject.rb
286
194
  - app/models/carrier/message/validations.rb
287
195
  - app/validators/recipients/exclude_self.rb
288
- - app/validators/recipients/recipients_validator.rb
196
+ - app/validators/recipients/recipients_presence_validator.rb
197
+ - app/validators/recipients/right_recipients_validator.rb
289
198
  - app/views/carrier/chains/archive.js.erb
290
199
  - app/views/carrier/chains/unarchive.js.erb
291
200
  - app/views/carrier/messages/_archive_chain.html.erb
201
+ - app/views/carrier/messages/_chosen.html.erb
292
202
  - app/views/carrier/messages/_form.html.erb
293
203
  - app/views/carrier/messages/_head.html.erb
294
204
  - app/views/carrier/messages/_index_message.html.erb
205
+ - app/views/carrier/messages/_message.html.erb
295
206
  - app/views/carrier/messages/_message_collapsed.html.erb
296
- - app/views/carrier/messages/_message_expanded.html.erb
297
207
  - app/views/carrier/messages/_nav_messages.html.erb
208
+ - app/views/carrier/messages/_recipients.html.erb
298
209
  - app/views/carrier/messages/_reply.html.erb
299
210
  - app/views/carrier/messages/as_sent.html.erb
300
211
  - app/views/carrier/messages/collapsed.js.erb
@@ -304,12 +215,7 @@ files:
304
215
  - app/views/carrier/messages/new.html.erb
305
216
  - app/views/carrier/messages/new.js.erb
306
217
  - app/views/carrier/messages/reply.js.erb
307
- - app/views/carrier/messages/rich/_multiselect.html.erb
308
- - app/views/carrier/messages/rich/_recipients.html.erb
309
218
  - app/views/carrier/messages/show.html.erb
310
- - app/views/carrier/messages/simple/_autocomplete.html.erb
311
- - app/views/carrier/messages/simple/_autocomplete_includes.html.erb
312
- - app/views/carrier/messages/simple/_recipients.html.erb
313
219
  - app/views/layouts/carrier/application.html.erb
314
220
  - app/views/partials/_error_messages_for.html.erb
315
221
  - carrier.gemspec
@@ -322,10 +228,12 @@ files:
322
228
  - lib/carrier.rb
323
229
  - lib/carrier/configuration.rb
324
230
  - lib/carrier/configuration/models.rb
325
- - lib/carrier/configuration/ui.rb
231
+ - lib/carrier/configuration/routes.rb
232
+ - lib/carrier/configuration/user.rb
326
233
  - lib/carrier/rails.rb
327
234
  - lib/carrier/rails/engine.rb
328
235
  - lib/carrier/rails/helpers.rb
236
+ - lib/carrier/version.rb
329
237
  - lib/tasks/carrier_tasks.rake
330
238
  - script/rails
331
239
  - spec/carrier/app/controllers/application_controller_spec.rb
@@ -420,31 +328,34 @@ files:
420
328
  - test/helper.rb
421
329
  - test/test_carrier.rb
422
330
  homepage: http://github.com/stanislaw/carrier
423
- licenses:
331
+ licenses:
424
332
  - MIT
425
333
  post_install_message:
426
334
  rdoc_options: []
427
- require_paths:
335
+
336
+ require_paths:
428
337
  - lib
429
- required_ruby_version: !ruby/object:Gem::Requirement
338
+ required_ruby_version: !ruby/object:Gem::Requirement
430
339
  none: false
431
- requirements:
432
- - - ! '>='
433
- - !ruby/object:Gem::Version
434
- version: '0'
435
- segments:
340
+ requirements:
341
+ - - ">="
342
+ - !ruby/object:Gem::Version
343
+ hash: -918445585
344
+ segments:
436
345
  - 0
437
- hash: -859768031
438
- required_rubygems_version: !ruby/object:Gem::Requirement
346
+ version: "0"
347
+ required_rubygems_version: !ruby/object:Gem::Requirement
439
348
  none: false
440
- requirements:
441
- - - ! '>='
442
- - !ruby/object:Gem::Version
443
- version: '0'
349
+ requirements:
350
+ - - ">="
351
+ - !ruby/object:Gem::Version
352
+ version: "0"
444
353
  requirements: []
354
+
445
355
  rubyforge_project:
446
356
  rubygems_version: 1.8.11
447
357
  signing_key:
448
358
  specification_version: 3
449
359
  summary: Raw github-like messaging system to reuse across Rails apps
450
360
  test_files: []
361
+