eve 1.0.2 → 2.0.1

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 (50) hide show
  1. data/.gitignore +43 -0
  2. data/Gemfile +17 -0
  3. data/Gemfile.lock +109 -0
  4. data/LICENSE.txt +20 -0
  5. data/README.rdoc +24 -3
  6. data/Rakefile +26 -117
  7. data/eve.gemspec +35 -0
  8. data/lib/eve.rb +5 -10
  9. data/lib/eve/api.rb +3 -1
  10. data/lib/eve/api/response/inspection.rb +1 -1
  11. data/lib/eve/api/response/rowsets.rb +1 -1
  12. data/lib/eve/dependencies.rb +42 -12
  13. data/lib/eve/deprecation.rb +3 -0
  14. data/lib/eve/javascript_helper.rb +196 -0
  15. data/lib/eve/trust.rb +1 -2
  16. data/lib/eve/trust/controller_helpers.rb +62 -66
  17. data/lib/eve/trust/igb_interface.rb +14 -10
  18. data/lib/eve/version.rb +8 -0
  19. data/spec/controllers/controller_helpers_spec.rb +91 -0
  20. data/spec/{lib/eve/helpers → helpers}/javascript_helper_spec.rb +2 -2
  21. data/spec/helpers/view_helper_spec.rb +7 -0
  22. data/spec/lib/eve/api/calls/eve/character_id_spec.rb +8 -8
  23. data/spec/lib/eve/api/calls/server_status_spec.rb +4 -0
  24. data/spec/lib/eve/api/request_spec.rb +1 -0
  25. data/spec/lib/eve/trust/igb_interface_spec.rb +5 -5
  26. data/spec/spec_helper.rb +42 -1
  27. data/spec/support/controllers/trust_controller.rb +18 -1
  28. data/spec/support/mock_api_helpers.rb +6 -1
  29. data/spec/support/views/trust/html_and_igb.html.erb +1 -0
  30. data/spec/support/views/trust/html_and_igb.igb.erb +1 -0
  31. data/spec/support/views/trust/html_only.html.erb +1 -0
  32. data/spec/support/views/trust/igb_only.igb.erb +1 -0
  33. metadata +226 -169
  34. data/Manifest.txt +0 -174
  35. data/PostInstall.txt +0 -6
  36. data/features/support/env.rb +0 -1
  37. data/lib/eve/core_extensions.rb +0 -3
  38. data/lib/eve/core_extensions/hash.rb +0 -51
  39. data/lib/eve/core_extensions/string.rb +0 -11
  40. data/lib/eve/helpers.rb +0 -12
  41. data/lib/eve/helpers/javascript_helper.rb +0 -198
  42. data/lib/eve/helpers/view_helper.rb +0 -13
  43. data/script/console +0 -10
  44. data/script/console.cmd +0 -1
  45. data/script/destroy +0 -14
  46. data/script/destroy.cmd +0 -1
  47. data/script/generate +0 -14
  48. data/script/generate.cmd +0 -1
  49. data/spec/lib/eve/helpers/view_helper_spec.rb +0 -12
  50. data/spec/lib/eve/trust/controller_helpers_spec.rb +0 -70
@@ -1,174 +0,0 @@
1
- History.txt
2
- Manifest.txt
3
- PostInstall.txt
4
- README.rdoc
5
- Rakefile
6
- features/support/env.rb
7
- lib/eve.rb
8
- lib/eve/api.rb
9
- lib/eve/api/connectivity.rb
10
- lib/eve/api/request.rb
11
- lib/eve/api/response.rb
12
- lib/eve/api/response/inspection.rb
13
- lib/eve/api/response/rowset.rb
14
- lib/eve/api/response/rowsets.rb
15
- lib/eve/api/response/wrap_object.rb
16
- lib/eve/api/services.rb
17
- lib/eve/api/services/account.rb
18
- lib/eve/api/services/character.rb
19
- lib/eve/api/services/corporation.rb
20
- lib/eve/api/services/eve.rb
21
- lib/eve/api/services/map.rb
22
- lib/eve/api/services/misc.rb
23
- lib/eve/api/services/server.rb
24
- lib/eve/core_extensions.rb
25
- lib/eve/core_extensions/hash.rb
26
- lib/eve/core_extensions/string.rb
27
- lib/eve/dependencies.rb
28
- lib/eve/errors.rb
29
- lib/eve/errors/authentication_errors.rb
30
- lib/eve/errors/internal_errors.rb
31
- lib/eve/errors/miscellaneous_errors.rb
32
- lib/eve/errors/user_input_errors.rb
33
- lib/eve/helpers.rb
34
- lib/eve/helpers/javascript_helper.rb
35
- lib/eve/helpers/view_helper.rb
36
- lib/eve/trust.rb
37
- lib/eve/trust/controller_helpers.rb
38
- lib/eve/trust/igb_interface.rb
39
- lib/eve/trust/mime_types.rb
40
- script/console
41
- script/console.cmd
42
- script/destroy
43
- script/destroy.cmd
44
- script/generate
45
- script/generate.cmd
46
- spec/lib/eve/api/calls/account/characters_spec.rb
47
- spec/lib/eve/api/calls/character/account_balance_spec.rb
48
- spec/lib/eve/api/calls/character/asset_list_spec.rb
49
- spec/lib/eve/api/calls/character/character_sheet_spec.rb
50
- spec/lib/eve/api/calls/character/fac_war_stats_spec.rb
51
- spec/lib/eve/api/calls/character/industry_jobs_spec.rb
52
- spec/lib/eve/api/calls/character/kill_log_spec.rb
53
- spec/lib/eve/api/calls/character/mail_messages_spec.rb
54
- spec/lib/eve/api/calls/character/mailing_lists_spec.rb
55
- spec/lib/eve/api/calls/character/market_orders_spec.rb
56
- spec/lib/eve/api/calls/character/medals_spec.rb
57
- spec/lib/eve/api/calls/character/research_spec.rb
58
- spec/lib/eve/api/calls/character/skill_in_training_spec.rb
59
- spec/lib/eve/api/calls/character/skill_queue_spec.rb
60
- spec/lib/eve/api/calls/character/standings_spec.rb
61
- spec/lib/eve/api/calls/character/wallet_journal_spec.rb
62
- spec/lib/eve/api/calls/character/wallet_transactions_spec.rb
63
- spec/lib/eve/api/calls/character_portrait_spec.rb
64
- spec/lib/eve/api/calls/corporation/account_balances_spec.rb
65
- spec/lib/eve/api/calls/corporation/asset_list_spec.rb
66
- spec/lib/eve/api/calls/corporation/container_log_spec.rb
67
- spec/lib/eve/api/calls/corporation/corporation_sheet_spec.rb
68
- spec/lib/eve/api/calls/corporation/fac_war_stats_spec.rb
69
- spec/lib/eve/api/calls/corporation/industry_jobs_spec.rb
70
- spec/lib/eve/api/calls/corporation/kill_log_spec.rb
71
- spec/lib/eve/api/calls/corporation/market_orders_spec.rb
72
- spec/lib/eve/api/calls/corporation/medals_spec.rb
73
- spec/lib/eve/api/calls/corporation/member_medals_spec.rb
74
- spec/lib/eve/api/calls/corporation/member_security_log_spec.rb
75
- spec/lib/eve/api/calls/corporation/member_security_spec.rb
76
- spec/lib/eve/api/calls/corporation/member_tracking_spec.rb
77
- spec/lib/eve/api/calls/corporation/shareholders_spec.rb
78
- spec/lib/eve/api/calls/corporation/standings_spec.rb
79
- spec/lib/eve/api/calls/corporation/starbase_detail_spec.rb
80
- spec/lib/eve/api/calls/corporation/starbase_list_spec.rb
81
- spec/lib/eve/api/calls/corporation/titles_spec.rb
82
- spec/lib/eve/api/calls/corporation/wallet_journal_spec.rb
83
- spec/lib/eve/api/calls/corporation/wallet_transactions_spec.rb
84
- spec/lib/eve/api/calls/empty_call_spec.rb
85
- spec/lib/eve/api/calls/eve/alliance_list_spec.rb
86
- spec/lib/eve/api/calls/eve/certificate_tree_spec.rb
87
- spec/lib/eve/api/calls/eve/character_id_spec.rb
88
- spec/lib/eve/api/calls/eve/conquerable_station_list_spec.rb
89
- spec/lib/eve/api/calls/eve/error_list_spec.rb
90
- spec/lib/eve/api/calls/eve/fac_war_stats_spec.rb
91
- spec/lib/eve/api/calls/eve/fac_war_top_stats_spec.rb
92
- spec/lib/eve/api/calls/eve/ref_types_spec.rb
93
- spec/lib/eve/api/calls/eve/skill_tree_spec.rb
94
- spec/lib/eve/api/calls/map/fac_war_systems_spec.rb
95
- spec/lib/eve/api/calls/map/jumps_spec.rb
96
- spec/lib/eve/api/calls/map/kills_spec.rb
97
- spec/lib/eve/api/calls/map/sovereignty_spec.rb
98
- spec/lib/eve/api/calls/server_status_spec.rb
99
- spec/lib/eve/api/request_spec.rb
100
- spec/lib/eve/api/response/error_spec.rb
101
- spec/lib/eve/api/response/rowset_spec.rb
102
- spec/lib/eve/api/response_spec.rb
103
- spec/lib/eve/api_spec.rb
104
- spec/lib/eve/core_extensions/hash_spec.rb
105
- spec/lib/eve/core_extensions/string_spec.rb
106
- spec/lib/eve/helpers/javascript_helper_spec.rb
107
- spec/lib/eve/helpers/view_helper_spec.rb
108
- spec/lib/eve/trust/controller_helpers_spec.rb
109
- spec/lib/eve/trust/igb_interface_spec.rb
110
- spec/rcov.opts
111
- spec/readme_spec.rb
112
- spec/sample_api_key.yml
113
- spec/spec.opts
114
- spec/spec_helper.rb
115
- spec/support/behaves_like_rowset.rb
116
- spec/support/controllers/trust_controller.rb
117
- spec/support/jpg/mock_portrait.jpg
118
- spec/support/mock_api_helpers.rb
119
- spec/support/xml/account/characters.xml
120
- spec/support/xml/character/account_balance.xml
121
- spec/support/xml/character/asset_list.xml
122
- spec/support/xml/character/character_sheet.xml
123
- spec/support/xml/character/fac_war_stats.xml
124
- spec/support/xml/character/industry_jobs.xml
125
- spec/support/xml/character/kill_log.xml
126
- spec/support/xml/character/mail_messages.xml
127
- spec/support/xml/character/mailing_lists.xml
128
- spec/support/xml/character/market_orders.xml
129
- spec/support/xml/character/medals.xml
130
- spec/support/xml/character/research.xml
131
- spec/support/xml/character/skill_in_training.xml
132
- spec/support/xml/character/skill_not_in_training.xml
133
- spec/support/xml/character/skill_queue.xml
134
- spec/support/xml/character/standings.xml
135
- spec/support/xml/character/wallet_journal.xml
136
- spec/support/xml/character/wallet_transactions.xml
137
- spec/support/xml/corporation/account_balance.xml
138
- spec/support/xml/corporation/asset_list.xml
139
- spec/support/xml/corporation/container_log.xml
140
- spec/support/xml/corporation/fac_war_stats.xml
141
- spec/support/xml/corporation/industry_jobs.xml
142
- spec/support/xml/corporation/kill_log.xml
143
- spec/support/xml/corporation/market_orders.xml
144
- spec/support/xml/corporation/medals.xml
145
- spec/support/xml/corporation/member_corporation_sheet.xml
146
- spec/support/xml/corporation/member_medals.xml
147
- spec/support/xml/corporation/member_security.xml
148
- spec/support/xml/corporation/member_security_log.xml
149
- spec/support/xml/corporation/member_tracking.xml
150
- spec/support/xml/corporation/non_member_corporation_sheet.xml
151
- spec/support/xml/corporation/shareholders.xml
152
- spec/support/xml/corporation/standings.xml
153
- spec/support/xml/corporation/starbase_detail.xml
154
- spec/support/xml/corporation/starbase_list.xml
155
- spec/support/xml/corporation/titles.xml
156
- spec/support/xml/corporation/wallet_journal.xml
157
- spec/support/xml/corporation/wallet_transactions.xml
158
- spec/support/xml/errors/106.xml
159
- spec/support/xml/errors/516.xml
160
- spec/support/xml/eve/alliance_list.xml
161
- spec/support/xml/eve/certificate_tree.xml
162
- spec/support/xml/eve/character_id.xml
163
- spec/support/xml/eve/conquerable_station_list.xml
164
- spec/support/xml/eve/error_list.xml
165
- spec/support/xml/eve/fac_war_stats.xml
166
- spec/support/xml/eve/fac_war_top_stats.xml
167
- spec/support/xml/eve/ref_types.xml
168
- spec/support/xml/eve/skill_tree.xml
169
- spec/support/xml/map/fac_war_systems.xml
170
- spec/support/xml/map/jumps.xml
171
- spec/support/xml/map/kills.xml
172
- spec/support/xml/map/sovereignty.xml
173
- spec/support/xml/rowset_with_mismatched_attributes.xml
174
- spec/support/xml/server/server_status.xml
@@ -1,6 +0,0 @@
1
-
2
- For more information on eve, see http://github.com/sinisterchipmunk/eve.git
3
-
4
-
5
-
6
-
@@ -1 +0,0 @@
1
- require 'eve'
@@ -1,3 +0,0 @@
1
- Dir[File.join(File.dirname(__FILE__), "core_extensions/**/*.rb")].each do |fi|
2
- require fi
3
- end
@@ -1,51 +0,0 @@
1
- class Hash
2
- def without(*keys)
3
- keys.flatten!
4
- inject({}) do |hash, (key, value)|
5
- hash[key] = value unless keys.include?(key)
6
- hash
7
- end
8
- end
9
-
10
- def without_values(*values)
11
- values.flatten!
12
- inject({}) do |hash, (key, value)|
13
- hash[key] = value unless values.include?(value)
14
- hash
15
- end
16
- end
17
-
18
- # Returns a hash that is a copy of this one, except that all nil values have been removed, making them
19
- # essentially "optional" keys.
20
- def optionalize
21
- without_values(nil)
22
- end
23
-
24
- alias without_nil_values optionalize
25
-
26
- def camelize_keys
27
- stringify_keys.rename(inject({}) do |renamed, (key, value)|
28
- renamed[key.to_s] = key.to_s.camelize
29
- renamed
30
- end)
31
- end
32
-
33
- # Takes a hash whose keys must match keys in this hash. Those keys will be renamed to match the
34
- # corresponding value in the specified hash.
35
- #
36
- # Keys not found are ignored.
37
- #
38
- # Returns self.
39
- #
40
- # Example:
41
- # { :a => 1 }.rename(:a => :b)
42
- # => {:b => 1}
43
- #
44
- def rename(to)
45
- merge!(inject({}) do |hash, (old_key, value)|
46
- hash[to[old_key] || old_key] = value
47
- delete(old_key)
48
- hash
49
- end)
50
- end
51
- end
@@ -1,11 +0,0 @@
1
- class String
2
- # The inverse of +ActiveSupport::Inflection#humanize+: Lowercases the first letter, and turns spaces into underscores.
3
- # This is meant to assist in creating method names. A camelCase method name can be created using #dehumanize:
4
- # "say_hello_to_the_world".camelize.dehumanize # => "sayHelloToTheWorld"
5
- #
6
- # This can also be used for creating permalinks:
7
- # "Say hello to the world".dehumanize # => "say_hello_to_the_world"
8
- def dehumanize
9
- self.camelize.gsub(/^([A-Z])/) { |x| x.downcase }.gsub(/ /, '_')
10
- end
11
- end
@@ -1,12 +0,0 @@
1
- require 'eve/helpers/view_helper'
2
- require 'eve/helpers/javascript_helper'
3
-
4
- module Eve
5
- module Helpers
6
- if defined?(ActionView::Base)
7
- ActionView::Base.send(:include, Eve::Helpers::ViewHelper)
8
- ActionView::Base.send(:include, Eve::Helpers::JavascriptHelper)
9
- end
10
- end
11
- end
12
-
@@ -1,198 +0,0 @@
1
- module Eve
2
- module Helpers
3
- # In addition to the helpers listed below, this library also exposes the "igb" method as described in
4
- # Eve::Trust.
5
- module JavascriptHelper
6
- # Returns the numeric type ID for a string, so you don't have to manage "magic numbers" in your application.
7
- # The argument can be a string or a symbol, and is case insensitive. Underscores will be converted to spaces.
8
- #
9
- # Examples:
10
- # type_id('alliance') # => 16159
11
- # type_id('character') # => 1377
12
- # type_id('corporation') # => 2
13
- # type_id('constellation') # => 4
14
- # type_id('region') # => 3
15
- # type_id('Solar System') # => 5
16
- # type_id(:solar_system) # => 5
17
- # type_id(:station) # => 3867
18
- #
19
- def type_id(which)
20
- which = which.to_s.humanize unless which.kind_of?(String)
21
- which.downcase!
22
- case which
23
- when 'alliance' then 16159
24
- when 'character' then 1377
25
- when 'corporation' then 2
26
- when 'constellation' then 4
27
- when 'region' then 3
28
- when 'solar system', 'solarsystem' then 5
29
- when 'station' then 3867
30
- else raise ArgumentError, "Unknown type: #{which}"
31
- end
32
- end
33
-
34
- # Creates a hyperlink that results in opening the client's EVE mail inbox.
35
- def link_to_evemail(text, *args)
36
- link_to_function(text, "CCPEVE.openEveMail()", *args)
37
- end
38
-
39
- # Creates a hyperlink that results in the "show info" dialog being displayed on the client's screen.
40
- # If item_id is given, the show info window will open for that item.
41
- #
42
- # type_id (Number)
43
- # Type ID of item to show info on.
44
- # item_id (Number)
45
- # Optional item ID of specific item of type type_id to show info on. This is required for specific types of
46
- # items, such as solar systems, stations, regions, and constellations.
47
- #
48
- def link_to_info(text, type_id, item_id = nil, *args)
49
- function = "CCPEVE.showInfo(#{type_id.inspect}"
50
- function.concat ", #{item_id.inspect}" if item_id
51
- function.concat ")"
52
- link_to_function text, function, *args
53
- end
54
-
55
- # Creates a hyperlink that results in opening the preview window for type_id.
56
- #
57
- # type_id (Number)
58
- # Type ID of item to preview.
59
- #
60
- def link_to_preview(text, type_id, *args)
61
- link_to_function text, "CCPEVE.showPreview(#{type_id.inspect})", *args
62
- end
63
-
64
- # Creates a hyperlink that results in showing the route to the destination_id from the source_id.
65
- # If source_id is not given, the source system is taken to be the system the user is currently in.
66
- #
67
- def link_to_route(text, destination_id, source_id = nil, *args)
68
- function = "CCPEVE.showRouteTo(#{destination_id.inspect}"
69
- function.concat ", #{source_id.inspect}" if source_id
70
- function.concat ")"
71
- link_to_function text, function, *args
72
- end
73
-
74
- # Creates a hyperlink that results in opening the map. If system_id is given, the map will focus on that system.
75
- #
76
- # system_id (Number)
77
- # Optional ID of solar system to focus map on.
78
- #
79
- def link_to_map(text, system_id = nil, *args)
80
- link_to_function text, "CCPEVE.showMap(#{system_id ? system_id.inspect : ''})", *args
81
- end
82
-
83
- # Creates a hyperlink that results in opening the fitting window and displays the fitting represented by fitting.
84
- #
85
- # fitting (String)
86
- # A Ship DNA string.
87
- #
88
- # See http://wiki.eveonline.com/en/wiki/Ship_DNA for details
89
- def link_to_fitting(text, ship_dna_string, *args)
90
- link_to_function text, "CCPEVE.showFitting(#{ship_dna_string.inspect})", *args
91
- end
92
-
93
- # Creatse a hyperlink that results in opening the contract window and displaying the contract represented by the
94
- # contract_id argument. Contracts are, however, assigned per-solar-system, and so a solar_system_id must also be
95
- # provided.
96
- #
97
- # solar_system_id (Number)
98
- # The ID number of the solar system in which the contract is located.
99
- # contract_id (Number)
100
- # The ID number of the contract to display.
101
- def link_to_contract(text, solar_system_id, contract_id, *args)
102
- link_to_function text, "CCPEVE.showContract(#{solar_system_id.inspect}, #{contract_id.inspect})", *args
103
- end
104
-
105
- # Creates a hyperlink which results in opening the market details window and displays the information about the
106
- # item represented by type_id.
107
- #
108
- # typeID (Number)
109
- # Type ID to display market details about
110
- #
111
- def link_to_market_details(text, type_id, *args)
112
- link_to_function text, "CCPEVE.showMarketDetails(#{type_id.inspect})", *args
113
- end
114
-
115
- # Produces a hyperlink that will result in a pop-up a trust prompt in the client, allowing the user to either
116
- # grant the trust request, ignore it, or always ignore trust requests from your site.
117
- #
118
- # trust_url (String)
119
- # This is a fully-qualified domain name and path (e.g. http://wiki.eveonline.com/w/) to which your site would
120
- # like the user to grant trust.
121
- #
122
- # The page will not be automatically refreshed if the user grants the trust request. Trust will take effect the
123
- # next time the user refreshes the page, or navigates within the site.
124
- #
125
- # Note that trust_url is processed and only the protocol, domain and path will be used from it. If you supply a
126
- # query string or anchor, they will be discarded. It is recommended that you primarily pass in only
127
- # fully-qualified domain names without paths (e.g. http://wiki.eveonline.com instead of
128
- # http://wiki.eveonline.com/w/index.php), as this avoids pestering the user for trust on every page.
129
- #
130
- def link_to_trust_request(text, trust_url = "http://#{request.host}/", *args)
131
- trust_url = url_for(trust_url.merge(:only_path => false)) if trust_url.kind_of?(Hash)
132
- link_to_function text, "CCPEVE.requestTrust(#{trust_url.inspect})", *args
133
- end
134
-
135
- # This will generate a method call that produces a pop-up a trust prompt in the client, allowing the user to
136
- # either grant the trust request, ignore it, or always ignore trust requests from your site.
137
- #
138
- # trust_url (String)
139
- # This is a fully-qualified domain name and path (e.g. http://wiki.eveonline.com/w/) to which your site would
140
- # like the user to grant trust.
141
- #
142
- # The page will not be automatically refreshed if the user grants the trust request. Trust will take effect the
143
- # next time the user refreshes the page, or navigates within the site.
144
- #
145
- # Note that trust_url is processed and only the protocol, domain and path will be used from it. If you supply a
146
- # query string or anchor, they will be discarded. It is recommended that you primarily pass in only
147
- # fully-qualified domain names without paths (e.g. http://wiki.eveonline.com instead of
148
- # http://wiki.eveonline.com/w/index.php), as this avoids pestering the user for trust on every page.
149
- #
150
- def request_trust(trust_url = "http://#{request.host}/", *args)
151
- trust_url = url_for(trust_url.merge(:only_path => false)) if trust_url.kind_of?(Hash)
152
- javascript_tag "CCPEVE.requestTrust(#{trust_url.inspect});", *args
153
- end
154
-
155
- # Sets the client's autopilot destination to the specified solar system.
156
- #
157
- # solar_system_id (Number)
158
- # The numerical identifier of the solar system to which you wish to set the client's autopilot destination.
159
- #
160
- # This method requires that the user grant Trust to the calling site.
161
- def link_to_destination(text, solar_system_id, *args)
162
- link_to_function text, "CCPEVE.setDestination(#{solar_system_id.inspect})", *args
163
- end
164
-
165
- # Adds the specified solar system to the end of the client's autopilot route. If the solar system is already in
166
- # the route, no changes are made and the method fails silently.
167
- #
168
- # solar_system_id (Number)
169
- # The numerical identifier of the solar system which you wish to append to the client's autopilot route.
170
- #
171
- # This method requires that the user grant Trust to the calling site.
172
- def link_to_waypoint(text, solar_system_id, *args)
173
- link_to_function text, "CCPEVE.addWaypoint(#{solar_system_id.inspect})", *args
174
- end
175
-
176
- # Causes the user to attempt to join the named channel. Normal channel access control rules apply. If the user is
177
- # unable to join the channel, the method fails silently.
178
- #
179
- # channel_name (String)
180
- # The name of the channel which the user will join.
181
- #
182
- # This method requires that the user grant Trust to the calling site.
183
- def link_to_channel(text, channel_name, *args)
184
- link_to_function text, "CCPEVE.joinChannel(#{channel_name.inspect})", *args
185
- end
186
-
187
- # Causes the user to subscribe to the named mailing list.
188
- #
189
- # mailing_list_name (String)
190
- # The name of the mailing list which the user will join.
191
- #
192
- # This method requires that the user grant Trust to the calling site.
193
- def link_to_mailing_list(text, mailing_list_name, *args)
194
- link_to_function text, "CCPEVE.joinMailingList(#{mailing_list_name.inspect})", *args
195
- end
196
- end
197
- end
198
- end