legal-docs 0.0.2

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.
data/.rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm 1.9.3-p0@legal-docs
data/Gemfile ADDED
@@ -0,0 +1,9 @@
1
+ source :rubygems
2
+
3
+ group :development do
4
+ gem "bundler", "~> 1.1.2"
5
+ gem "rspec", "~> 2.8.0"
6
+ gem "jeweler", "~> 1.8.3"
7
+ gem 'i18n-spec'
8
+ gem 'localeapp'
9
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,45 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ diff-lcs (1.1.3)
5
+ git (1.2.5)
6
+ gli (1.5.1)
7
+ i18n (0.6.0)
8
+ i18n-spec (0.2.1)
9
+ jeweler (1.8.3)
10
+ bundler (~> 1.0)
11
+ git (>= 1.2.5)
12
+ rake
13
+ rdoc
14
+ json (1.6.6)
15
+ localeapp (0.4.3)
16
+ gli
17
+ i18n
18
+ json
19
+ rest-client
20
+ ya2yaml
21
+ mime-types (1.18)
22
+ rake (0.9.2.2)
23
+ rdoc (3.12)
24
+ json (~> 1.4)
25
+ rest-client (1.6.7)
26
+ mime-types (>= 1.16)
27
+ rspec (2.8.0)
28
+ rspec-core (~> 2.8.0)
29
+ rspec-expectations (~> 2.8.0)
30
+ rspec-mocks (~> 2.8.0)
31
+ rspec-core (2.8.0)
32
+ rspec-expectations (2.8.0)
33
+ diff-lcs (~> 1.1.2)
34
+ rspec-mocks (2.8.0)
35
+ ya2yaml (0.31)
36
+
37
+ PLATFORMS
38
+ ruby
39
+
40
+ DEPENDENCIES
41
+ bundler (~> 1.1.2)
42
+ i18n-spec
43
+ jeweler (~> 1.8.3)
44
+ localeapp
45
+ rspec (~> 2.8.0)
data/LICENSE.txt ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2012 Christopher Dell
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README ADDED
File without changes
data/Rakefile ADDED
@@ -0,0 +1,34 @@
1
+ # encoding: utf-8
2
+
3
+ require 'rubygems'
4
+ require 'bundler'
5
+ begin
6
+ Bundler.setup(:default, :development)
7
+ rescue Bundler::BundlerError => e
8
+ $stderr.puts e.message
9
+ $stderr.puts "Run `bundle install` to install missing gems"
10
+ exit e.status_code
11
+ end
12
+ require 'rake'
13
+
14
+ require 'jeweler'
15
+ Jeweler::Tasks.new do |gem|
16
+ # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
17
+ gem.name = "legal-docs"
18
+ gem.homepage = "http://github.com/tigrish/legal-docs"
19
+ gem.license = "MIT"
20
+ gem.summary = %Q{Customisable legal documents for your app}
21
+ gem.description = %Q{legal-docs provides a customisable privacy policy and terms of service, backed by I18n that can used in your apps.}
22
+ gem.email = "chris@tigrish.com"
23
+ gem.authors = ["Christopher Dell"]
24
+ # dependencies defined in Gemfile
25
+ end
26
+ Jeweler::RubygemsDotOrgTasks.new
27
+
28
+ require 'rspec/core'
29
+ require 'rspec/core/rake_task'
30
+ RSpec::Core::RakeTask.new(:spec) do |spec|
31
+ spec.pattern = FileList['spec/**/*_spec.rb']
32
+ end
33
+
34
+ task :default => :spec
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.0.2
data/config/i18n.rb ADDED
@@ -0,0 +1,3 @@
1
+ require 'i18n'
2
+ I18n.load_path << Dir[File.join(File.expand_path(File.dirname(__FILE__) + '/../locales'), '*.yml')]
3
+ I18n.load_path.flatten!
data/lib/legal_docs.rb ADDED
@@ -0,0 +1,61 @@
1
+ require File.dirname(__FILE__) + '../../config/i18n'
2
+
3
+ module LegalDocs
4
+ def self.privacy_policy
5
+ LegalDoc.new(:privacy_policy)
6
+ end
7
+
8
+ def self.terms_of_service
9
+ LegalDoc.new(:terms_of_service)
10
+ end
11
+
12
+ class LegalDoc
13
+ def initialize(doc)
14
+ @doc = doc
15
+ end
16
+
17
+ def title
18
+ I18n.t i18n_scope("docs.#{@doc}.title")
19
+ end
20
+
21
+ def content
22
+ I18n.t i18n_scope("docs.#{@doc}.body.markdown"), interpolations
23
+ end
24
+
25
+ protected
26
+
27
+ def interpolations
28
+ {
29
+ :arbitration_language => interpolate('arbitration.language'),
30
+ :arbitration_location => interpolate('arbitration.location'),
31
+ :company_name => interpolate('company.name'),
32
+ :company_short_name => interpolate('company.short_name'),
33
+ :company_url => interpolate('company.url'),
34
+ :governing_law_country => interpolate('governing_law.country'),
35
+ :governing_law_location => interpolate('governing_law.location'),
36
+ :governing_law_venue => interpolate('governing_law.venue'),
37
+ :open_source_licence_image_url => interpolate('open_source_licence.image_url'),
38
+ :open_source_licence_url => interpolate('open_source_licence.url'),
39
+ :open_source_licence_long_name => interpolate('open_source_licence.long_name'),
40
+ :open_source_licence_organisation => interpolate('open_source_licence.organisation'),
41
+ :open_source_licence_short_name => interpolate('open_source_licence.short_name'),
42
+ :service_description => interpolate('service.description'),
43
+ :service_dmca_url => interpolate('service.dmca_url'),
44
+ :service_free_features => interpolate('service.free_features'),
45
+ :service_name => interpolate('service.name'),
46
+ :service_paid_features => interpolate('service.paid_features'),
47
+ :service_privacy_policy_url => interpolate('service.privacy_policy_url'),
48
+ :service_support_email => interpolate('service.support_email'),
49
+ :service_url => interpolate('service.url')
50
+ }
51
+ end
52
+
53
+ def interpolate(key)
54
+ I18n.t i18n_scope("interpolations.#{key}")
55
+ end
56
+
57
+ def i18n_scope(key)
58
+ %w(vendor legal_docs).push(key).join('.').to_sym
59
+ end
60
+ end
61
+ end
data/locales/en.yml ADDED
@@ -0,0 +1,426 @@
1
+ en:
2
+ vendor:
3
+ legal_docs:
4
+ docs:
5
+ privacy_policy:
6
+ body:
7
+ markdown: ! "# %{service_name} Privacy Policy\n\nYour privacy is critically
8
+ important to us. At %{company_short_name} we have a few fundamental
9
+ principles:\n\n1. We don't ask you for personal information unless we
10
+ truly need it. (We can't stand services that ask you for things like
11
+ your gender or income level for no apparent reason.)\n2. We don't share
12
+ your personal information with anyone except to comply with the law,
13
+ develop our products, or protect our rights.\n3. We don't store personal
14
+ information on our servers unless required for the on-going operation
15
+ of one of our services.\n4. We aim to make it as simple as possible
16
+ for you to control what's visible to the public, seen by search engines,
17
+ kept private, and permanently deleted.\n\nBelow is our privacy policy
18
+ which incorporates these goals:\n\nIf you have questions about deleting
19
+ or correcting your personal data please email us <%{service_support_email}>\n\nIt
20
+ is %{company_short_name}’s policy to respect your privacy regarding
21
+ any information we may collect while operating our websites.\n\n## Website
22
+ Visitors\nLike most website operators, %{company_short_name} collects
23
+ non-personally-identifying information of the sort that web browsers
24
+ and servers typically make available, such as the browser type, language
25
+ preference, referring site, and the date and time of each visitor request.\n\n%{company_short_name}'s
26
+ purpose in collecting non-personally identifying information is to better
27
+ understand how %{company_short_name}'s visitors use its website.\n\nFrom
28
+ time to time, %{company_short_name} may release non-personally-identifying
29
+ information in the aggregate, e.g., by publishing a report on trends
30
+ in the usage of its website.\n\n%{company_short_name} also collects
31
+ potentially personally-identifying information like Internet Protocol
32
+ (IP) addresses for logged in users and for users leaving comments or
33
+ contributing to projects.\n\n%{company_short_name} only discloses logged
34
+ in user and commenter IP addresses under the same circumstances that
35
+ it uses and discloses personally-identifying information as described
36
+ below, except that contributor IP addresses are visible and disclosed
37
+ to the relevant project owner.\n\n## Gathering of Personally-Identifying
38
+ Information\n\nCertain visitors to %{company_short_name}’s websites
39
+ choose to interact with %{company_short_name} in ways that require %{company_short_name}
40
+ to gather personally-identifying information.\n\nThe amount and type
41
+ of information that %{company_short_name} gathers depends on the nature
42
+ of the interaction. For example, we ask visitors who sign up for an
43
+ account at [%{service_name}](%{service_url}) to provide a username and
44
+ email address.\n\nThose who engage in transactions with %{company_short_name}
45
+ – by purchasing access to paid services, for example – are asked to
46
+ provide additional information, including as necessary the personal
47
+ and financial information required to process those transactions.\n\nIn
48
+ each case, %{company_short_name} collects such information only insofar
49
+ as is necessary or appropriate to fulfil the purpose of the visitor’s
50
+ interaction with %{company_short_name}.\n\n%{company_short_name} does
51
+ not disclose personally-identifying information other than as described
52
+ below. And visitors can always refuse to supply personally-identifying
53
+ information, with the caveat that it may prevent them from engaging
54
+ in certain website-related activities.\n\n## Aggregated Statistics\n\n%{company_short_name}
55
+ may collect statistics about the behaviour of visitors to its websites.
56
+ For instance, %{company_short_name} may monitor the most popular projects
57
+ on the [%{service_name}](%{service_url}).\n\n%{company_short_name} may
58
+ display this information publicly or provide it to others. However,
59
+ %{company_short_name} does not disclose personally-identifying information
60
+ other than as described below.\n\n## Protection of Certain Personally-Identifying
61
+ Information\n\n%{company_short_name} discloses potentially personally-identifying
62
+ and personally-identifying information only to those of its employees,
63
+ contractors and affiliated organisations that;\n\n* need to know that
64
+ information in order to process it on %{company_short_name}’s behalf
65
+ or to provide services available at %{company_short_name}’s websites,
66
+ and\n* that have agreed not to disclose it to others. \n\nSome of those
67
+ employees, contractors and affiliated organisations may be located outside
68
+ of your home country; by using %{company_short_name}’s websites, you
69
+ consent to the transfer of such information to them.\n\n%{company_short_name}
70
+ will not rent or sell potentially personally-identifying and personally-identifying
71
+ information to anyone.\n\nOther than to its employees, contractors and
72
+ affiliated organisations, as described above, %{company_short_name}
73
+ discloses potentially personally-identifying and personally-identifying
74
+ information only in response to a subpoena, court order or other governmental
75
+ request, or when %{company_short_name} believes in good faith that disclosure
76
+ is reasonably necessary to protect the property or rights of %{company_short_name},
77
+ third parties or the public at large.\n\nIf you are a registered user
78
+ of an %{service_name} account and have supplied your email address,
79
+ %{company_short_name} may occasionally send you an email to tell you
80
+ about new features, solicit your feedback, or just keep you up to date
81
+ with what’s going on with %{company_short_name} and our products.\n\nWe
82
+ primarily use our various product blogs to communicate this type of
83
+ information, so we expect to keep this type of email to a minimum.\n\nIf
84
+ you send us a request (for example via a support email or via one of
85
+ our feedback mechanisms), we reserve the right to publish it in order
86
+ to help us clarify or respond to your request or to help us support
87
+ other users.\n\n%{company_short_name} takes all measures reasonably
88
+ necessary to protect against the unauthorised access, use, alteration
89
+ or destruction of potentially personally-identifying and personally-identifying
90
+ information.\n\n## Cookies\n\nA cookie is a string of information that
91
+ a website stores on a visitor’s computer, and that the visitor’s browser
92
+ provides to the website each time the visitor returns.\n\n%{company_short_name}
93
+ uses cookies to help %{company_short_name} identify and track visitors,
94
+ their usage of %{company_short_name} website, and their website access
95
+ preferences.\n\n%{company_short_name} visitors who do not wish to have
96
+ cookies placed on their computers should set their browsers to refuse
97
+ cookies before using %{company_short_name}’s websites, with the drawback
98
+ that certain features of %{company_short_name}’s websites may not function
99
+ properly without the aid of cookies.\n\n## Business Transfers\n\nIf
100
+ %{company_short_name}, or substantially all of its assets, were acquired,
101
+ or in the unlikely event that %{company_short_name} goes out of business
102
+ or enters bankruptcy, user information would be one of the assets that
103
+ is transferred or acquired by a third party.\n\nYou acknowledge that
104
+ such transfers may occur, and that any acquirer of %{company_short_name}
105
+ may continue to use your personal information as set forth in this policy.\n\n##
106
+ Ads\n\nAds appearing on any of our websites may be delivered to users
107
+ by advertising partners, who may set cookies.\n\nThese cookies allow
108
+ the ad server to recognise your computer each time they send you an
109
+ online advertisement to compile information about you or others who
110
+ use your computer.\n\nThis information allows ad networks to, among
111
+ other things, deliver targeted advertisements that they believe will
112
+ be of most interest to you.\n\nThis Privacy Policy covers the use of
113
+ cookies by %{company_short_name} and does not cover the use of cookies
114
+ by any advertisers.\n\n## Privacy Policy Changes\n\nAlthough most changes
115
+ are likely to be minor, %{company_short_name} may change its Privacy
116
+ Policy from time to time, and in %{company_short_name}’s sole discretion.\n\n%{company_short_name}
117
+ encourages visitors to frequently check this page for any changes to
118
+ its Privacy Policy. If you have a %{service_name} account, you should
119
+ also check your project's dashboard for alerts to these changes.\n\nYour
120
+ continued use of this site after any change in this Privacy Policy will
121
+ constitute your acceptance of such change.\n\n*Thanks to [Wordpress](http://wordpress.com})
122
+ for releasing their Privacy Policy under a [Creative Commons Sharealike
123
+ Licence](http://creativecommons.org/licenses/by-sa/3.0/) which enabled
124
+ us to repurpose this text for our own use.*"
125
+ title: Privacy Policy
126
+ terms_of_service:
127
+ body:
128
+ markdown: ! "# %{service_name} Terms of Service\n\nWe (the team at [%{company_name}](%{company_url}))
129
+ run a [%{service_description}](%{service_url}) called %{service_name}
130
+ and we'd **love** you to use it.\n\n%{service_free_features} are free,
131
+ and we offer paid accounts for advanced features such %{service_paid_features}.\n\n##
132
+ Terms of Service\n\nThe following terms and conditions govern all use
133
+ of the %{service_name} website and all content, services and products
134
+ available at or through [the Website](%{service_url}).\n\nThe Website
135
+ is owned and operated by %{company_name}. (“%{company_short_name}”).
136
+ The Website is offered subject to your acceptance without modification
137
+ of all of the terms and conditions contained herein and all other operating
138
+ rules, policies (including, without limitation, [%{company_short_name}
139
+ Privacy Policy](%{service_privacy_policy_url})) and procedures that
140
+ may be published from time to time on the Website by %{company_short_name}
141
+ (collectively, the “Agreement”).\n\nPlease read this Agreement carefully
142
+ before accessing or using the Website. By accessing or using any part
143
+ of the web site, you agree to become bound by the terms and conditions
144
+ of this agreement.\n\nIf you do not agree to all the terms and conditions
145
+ of this agreement, then you may not access the Website or use any services.
146
+ If these terms and conditions are considered an offer by %{company_short_name},
147
+ acceptance is expressly limited to these terms. The Website is available
148
+ only to individuals who are at least 13 years old.\n\n1. **Your %{service_name}
149
+ Account and Projects** \n \n If you create a project on the Website,
150
+ you are responsible for maintaining the security of your account and
151
+ projects, and you are fully responsible for all activities that occur
152
+ under the account and any other actions taken in connection with the
153
+ projects.\n\n You must not describe your projects in a misleading
154
+ or unlawful manner, including in a manner intended to trade on the name
155
+ or reputation of others, and %{company_short_name} may change or remove
156
+ any project that it considers inappropriate or unlawful, or otherwise
157
+ likely to cause %{company_short_name} liability.\n \n You must
158
+ immediately notify %{company_short_name} of any unauthorised uses of
159
+ your project, your account or any other breaches of security. %{company_short_name}
160
+ will not be liable for any acts or omissions by You, including any damages
161
+ of any kind incurred as a result of such acts or omissions.\n\n1. **Responsibility
162
+ of Contributors**\n\n If you manage a project, contribute to a project,
163
+ post material to the Website, or otherwise make (or allow any third
164
+ party to make) material available by means of the Website (any such
165
+ material, “Content”), You are entirely responsible for the content of,
166
+ and any harm resulting from, that Content.\n\n By making Content
167
+ available, you represent and warrant that:\n \n * the downloading,
168
+ copying and use of the Content will not infringe the proprietary rights,
169
+ including but not limited to the copyright, patent, trademark or trade
170
+ secret rights, of any third party;\n\n * if your employer has rights
171
+ to intellectual property you create, you have either (i) received permission
172
+ from your employer to post or make available the Content, including
173
+ but not limited to any software, or (ii) secured from your employer
174
+ a waiver as to all rights in or to the Content;\n\n * you have fully
175
+ complied with any third-party licenses relating to the Content, and
176
+ have done all things necessary to successfully pass through to end users
177
+ any required terms;\n \n * the Content does not contain or install
178
+ any viruses, worms, malware, Trojan horses or other harmful or destructive
179
+ content;\n \n * the Content is not spam, is not machine or randomly-generated,
180
+ and does not contain unethical or unwanted commercial content designed
181
+ to drive traffic to third party sites or boost the search engine rankings
182
+ of third party sites, or to further unlawful acts (such as phishing)
183
+ or mislead recipients as to the source of the material (such as spoofing);\n
184
+ \ \n * the Content is not pornographic, does not contain threats
185
+ or incite violence towards individuals or entities, and does not violate
186
+ the privacy or publicity rights of any third party;\n \n * your
187
+ project is not getting advertised via unwanted electronic messages such
188
+ as spam links on newsgroups, email lists, other blogs and web sites,
189
+ and similar unsolicited promotional methods;\n \n * your project
190
+ is not named in a manner that misleads your readers into thinking that
191
+ you are another person or company. For example, your project's URL or
192
+ name is not the name of a person other than yourself or company other
193
+ than your own; and\n \n * you have, in the case of Content that
194
+ includes computer code, accurately categorised and/or described the
195
+ type, nature, uses and effects of the materials, whether requested to
196
+ do so by %{company_short_name} or otherwise.\n \n By submitting
197
+ Content to %{company_short_name} for inclusion on your project, you
198
+ grant %{company_short_name} a world-wide, royalty-free, and non-exclusive
199
+ license to reproduce, modify, adapt and publish the Content solely for
200
+ the purpose of displaying, distributing and promoting your project.\n\n
201
+ \ If you delete Content, %{company_short_name} will use reasonable
202
+ efforts to remove it from the Website, but you acknowledge that caching
203
+ or references to the Content may not be made immediately unavailable.\n\n
204
+ \ Without limiting any of those representations or warranties, %{company_short_name}
205
+ has the right (though not the obligation) to, in %{company_short_name}’s
206
+ sole discretion\n \n - refuse or remove any content that,
207
+ in %{company_short_name}’s reasonable opinion, violates any %{company_short_name}
208
+ policy or is in any way harmful or objectionable, or\n - terminate
209
+ or deny access to and use of the Website to any individual or entity
210
+ for any reason, in %{company_short_name}’s sole discretion. %{company_short_name}
211
+ will have no obligation to provide a refund of any amounts previously
212
+ paid.\n\n1. **Payment and Renewal**\n \n * **General Terms**\n \n
213
+ \ Optional paid services are available on the Website (any such services,
214
+ an \"Upgrade\").\n \n By selecting an Upgrade you agree to pay
215
+ %{company_short_name} the monthly or annual subscription fees indicated
216
+ for that service.\n \n Payments will be charged on a pre-pay
217
+ basis on the day you sign up for an Upgrade and will cover the use of
218
+ that service for a monthly or annual subscription period as indicated.
219
+ Upgrade fees are not refundable.\n\n * **Automatic Renewal**\n \n
220
+ \ Unless you notify %{company_short_name} before the end of the
221
+ applicable subscription period that you want to cancel an Upgrade, your
222
+ Upgrade subscription will automatically renew and you authorise us to
223
+ collect the then-applicable annual or monthly subscription fee for such
224
+ Upgrade (as well as any taxes) using any credit card or other payment
225
+ mechanism we have on record for you.\n \n Upgrades can be
226
+ canceled at any time by contacting %{company_short_name} by email <%{service_support_email}>.\n
227
+ \ \n1. **Responsibility of Website Visitors**\n \n %{company_short_name}
228
+ has not reviewed, and cannot review, all of the material posted to the
229
+ Website, and cannot therefore be responsible for that material’s content,
230
+ use or effects.\n\n By operating the Website, %{company_short_name}
231
+ does not represent or imply that it endorses the material there posted,
232
+ or that it believes such material to be accurate, useful or non-harmful.\n
233
+ \ \n You are responsible for taking precautions as necessary to protect
234
+ yourself and your computer systems from viruses, worms, Trojan horses,
235
+ and other harmful or destructive content.\n \n The Website may contain
236
+ content that is offensive, indecent, or otherwise objectionable, as
237
+ well as content containing technical inaccuracies, typographical mistakes,
238
+ and other errors.\n \n The Website may also contain material that
239
+ violates the privacy or publicity rights, or infringes the intellectual
240
+ property and other proprietary rights, of third parties, or the downloading,
241
+ copying or use of which is subject to additional terms and conditions,
242
+ stated or unstated.\n \n %{company_short_name} disclaims any responsibility
243
+ for any harm resulting from the use by visitors of the Website, or from
244
+ any downloading by those visitors of content there posted.\n \n1.
245
+ **Content Posted on Other Websites**\n \n We have not reviewed,
246
+ and cannot review, all of the material made available through the websites
247
+ and webpages to which %{service_name} links, and that link to %{service_name}.\n
248
+ \ \n %{company_short_name} does not have any control over those non-%{service_name}
249
+ websites and webpages, and is not responsible for their contents or
250
+ their use.\n \n By linking to a non-%{service-name} website or webpage,
251
+ %{company_short_name} does not represent or imply that it endorses such
252
+ website or webpage.\n \n You are responsible for taking precautions
253
+ as necessary to protect yourself and your computer systems from viruses,
254
+ worms, Trojan horses, and other harmful or destructive content. %{company_short_name}
255
+ disclaims any responsibility for any harm resulting from your use of
256
+ non-%{service-name} websites and webpages.\n \n1. **Copyright Infringement
257
+ and DMCA Policy**\n\n As %{company_short_name} asks others to respect
258
+ its intellectual property rights, it respects the intellectual property
259
+ rights of others.\n\n If you believe that material located on or linked
260
+ to by %{service_name} violates your copyright, you are encouraged to
261
+ notify %{company_short_name} in accordance with [%{company_short_name}’s
262
+ Digital Millennium Copyright Act (\"DMCA\") Policy](%{service_dmca_url}).\n\n
263
+ \ %{company_short_name} will respond to all such notices, including
264
+ as required or appropriate by removing the infringing material or disabling
265
+ all links to the infringing material.\n \n %{company_short_name}
266
+ will terminate a visitor's access to and use of the Website if, under
267
+ appropriate circumstances, the visitor is determined to be a repeat
268
+ infringer of the copyrights or other intellectual property rights of
269
+ %{company_short_name} or others.\n \n In the case of such termination,
270
+ %{company_short_name} will have no obligation to provide a refund of
271
+ any amounts previously paid to %{company_short_name}.\n \n1. **Licensing
272
+ of Open Source Projects**\n\n Open Source Projects are hosted for
273
+ free on %{service_name}. All localisations associated with Open Source
274
+ projects on %{service_name} are automatically licensed under the **%{open_source_licence_organisation},
275
+ %{open_source_licence_long_name}** - \n [%{open_source_licence_short_name}](%{open_source_licence_url})\n\n
276
+ \ [![%{open_source_licence_short_name}](%{open_source_licence_image_url}
277
+ \"%{open_source_licence_short_name}\")](%{open_source_licence_url} \"%{open_source_licence_short_name}\")\n\n
278
+ \ This means that such localisations can be freely copied, distributed
279
+ and transmitted. Localisations can be freely adapted, and commercial
280
+ use of them is permitted;\nunder the following conditions;\n\n *
281
+ Any derivative use of such localisations must attribute derivative works
282
+ to the project owner in the manner specified by the project owner (but
283
+ not in any way that suggests that they endorse the derivative work in
284
+ any way).\n * Any derivative use must be distributed under the same
285
+ or similar license to this one.\n\n1. **Licensing of Private Projects**\n\n
286
+ \ All private projects hosted on %{service_name} are, by definition,
287
+ private. All localisations associated with such projects are only accessible
288
+ to users authorised by the project owner or his representatives.\n \n
289
+ \ The project owner is responsible for licensing and distributing all
290
+ localisations associated with private projects.\n \n \n1. **Intellectual
291
+ Property**\n\n This Agreement does not transfer from %{company_short_name}
292
+ to you any %{company_short_name} or third party intellectual property,
293
+ and all right, title and interest in and to such property will remain
294
+ (as between the parties) solely with %{company_short_name}.\n \n
295
+ \ %{company_short_name}, %{service_name}, the %{service_name} logo,
296
+ and all other trademarks, service marks, graphics and logos used in
297
+ connection with %{service_name}, or the Website are trademarks or registered
298
+ trademarks of %{company_short_name} or %{company_short_name}’s licensors.\n
299
+ \ \n Other trademarks, service marks, graphics and logos used in
300
+ connection with the Website may be the trademarks of other third parties.\n
301
+ \ \n Your use of the Website grants you no right or license to
302
+ reproduce or otherwise use any %{company_short_name} or third-party
303
+ trademarks.\n \n1. **Changes**\n\n %{company_short_name} reserves
304
+ the right, at its sole discretion, to modify or replace any part of
305
+ this Agreement.\n \n It is your responsibility to check this Agreement
306
+ periodically for changes.\n \n Your continued use of or access
307
+ to the Website following the posting of any changes to this Agreement
308
+ constitutes acceptance of those changes.\n \n %{company_short_name}
309
+ may also, in the future, offer new services and/or features through
310
+ the Website (including, the release of new tools and resources).\n \n
311
+ \ Such new features and/or services shall be subject to the terms
312
+ and conditions of this Agreement.\n \n1. **Termination**\n\n %{company_short_name}
313
+ may terminate your access to all or any part of the Website at any time,
314
+ with or without cause, with or without notice, effective immediately.\n
315
+ \ \n If you wish to terminate this Agreement or your %{service_name}
316
+ account (if you have one), you may simply discontinue using the Website.\n
317
+ \ \n Notwithstanding the foregoing, if you have paid for an Upgrade,
318
+ your account can only be terminated by %{company_short_name} if you
319
+ materially breach this Agreement and fail to cure such breach within
320
+ thirty (30) days from %{company_short_name}’s notice to you thereof;
321
+ provided that, %{company_short_name} can terminate the Website immediately
322
+ as part of a general shut down of our service.\n \n All provisions
323
+ of this Agreement which by their nature should survive termination shall
324
+ survive termination, including, without limitation, ownership provisions,
325
+ warranty disclaimers, indemnity and limitations of liability.\n \n1.
326
+ **Disclaimer of Warranties**\n\n The Website is provided \"as is\".
327
+ %{company_short_name} and its suppliers and licensors hereby disclaim
328
+ all warranties of any kind, express or implied, including, without limitation,
329
+ the warranties of merchantability, fitness for a particular purpose
330
+ and non-infringement.\n \n Neither %{company_short_name} nor its
331
+ suppliers and licensors, makes any warranty that the Website will be
332
+ error free or that access thereto will be continuous or uninterrupted.\n
333
+ \ \n You understand that you download from, or otherwise obtain
334
+ content or services through, the Website at your own discretion and
335
+ risk.\n \n1. **Limitation of Liability**\n\n In no event will
336
+ %{company_short_name}, or its suppliers or licensors, be liable with
337
+ respect to any subject matter of this agreement under any contract,
338
+ negligence, strict liability or other legal or equitable theory for:\n
339
+ \ - any special, incidental or consequential damages;\n - the
340
+ cost of procurement for substitute products or services;\n - for
341
+ interruption of use or loss or corruption of data; or\n - for any
342
+ amounts that exceed the fees paid by you to %{company_short_name} under
343
+ this agreement during the twelve (12) month period prior to the cause
344
+ of action. \n \n %{company_short_name} shall have no liability
345
+ for any failure or delay due to matters beyond their reasonable control.
346
+ The foregoing shall not apply to the extent prohibited by applicable
347
+ law.\n \n1. **General Representation and Warranty**\n\n You represent
348
+ and warrant that\n * your use of the Website will be in strict
349
+ accordance with the %{company_short_name} Privacy Policy, with this
350
+ Agreement and with all applicable laws and regulations (including without
351
+ limitation any local laws or regulations in your country, state, city,
352
+ or other governmental area, regarding online conduct and acceptable
353
+ content, and including all applicable laws regarding the transmission
354
+ of technical data exported from country in which you reside) and \n
355
+ \ * your use of the Website will not infringe or misappropriate the
356
+ intellectual property rights of any third party.\n \n1. **Indemnification**\n\n
357
+ \ You agree to indemnify and hold harmless %{company_short_name}, its
358
+ contractors, and its licensors, and their respective directors, officers,
359
+ employees and agents from and against any and all claims and expenses,
360
+ including attorneys’ fees, arising out of your use of the Website, including
361
+ but not limited to your violation of this Agreement.\n \n1. **Miscellaneous**\n\n
362
+ \ This Agreement constitutes the entire agreement between %{company_short_name}
363
+ and you concerning the subject matter hereof, and they may only be modified
364
+ by a written amendment signed by an authorised executive of %{company_short_name},
365
+ or by the posting by %{company_short_name} of a revised version.\n \n
366
+ \ Except to the extent applicable law, if any, provides otherwise,
367
+ this Agreement, any access to or use of the Website will be governed
368
+ by the laws of %{governing_law_country}, excluding its conflict of law
369
+ provisions, and the proper venue for any disputes arising out of or
370
+ relating to any of the same will be %{governing_law_venue} located in
371
+ %{governing_law_location}.\n \n Except for claims for injunctive
372
+ or equitable relief or claims regarding intellectual property rights
373
+ (which may be brought in any competent court without the posting of
374
+ a bond), any dispute arising under this Agreement shall be finally settled
375
+ in accordance with the Comprehensive Arbitration Rules of the Judicial
376
+ Arbitration and Mediation Service, Inc. (“JAMS”) by three arbitrators
377
+ appointed in accordance with such Rules.\n \n The arbitration shall
378
+ take place in %{arbitration_location}, in the %{arbitration_language}
379
+ language and the arbitral decision may be enforced in any court.\n \n
380
+ \ The prevailing party in any action or proceeding to enforce this
381
+ Agreement shall be entitled to costs and legal fees.\n \n If any
382
+ part of this Agreement is held invalid or unenforceable, that part will
383
+ be construed to reflect the parties’ original intent, and the remaining
384
+ portions will remain in full force and effect.\n \n A waiver by
385
+ either party of any term or condition of this Agreement or any breach
386
+ thereof, in any one instance, will not waive such term or condition
387
+ or any subsequent breach thereof.\n \n You may assign your rights
388
+ under this Agreement to any party that consents to, and agrees to be
389
+ bound by, its terms and conditions; %{company_short_name} may assign
390
+ its rights under this Agreement without condition.\n \n This Agreement
391
+ will be binding upon and will inure to the benefit of the parties, their
392
+ successors and permitted assigns.\n\n*Thanks to [Wordpress](http://wordpress.com})
393
+ for releasing their Terms of Service under a [Creative Commons Sharealike
394
+ Licence](http://creativecommons.org/licenses/by-sa/3.0/) which enabled
395
+ us to repurpose this text for our own use.*"
396
+ title: Terms of Service
397
+ interpolations:
398
+ arbitration:
399
+ language: <Arbitration Language>
400
+ location: <Arbitration Location>
401
+ company:
402
+ name: <Company Name>
403
+ short_name: <Company Short Name>
404
+ url: <Company URL>
405
+ governing_law:
406
+ country: <Governing Law Country>
407
+ location: <Governing Law Location>
408
+ venue: <Governing Law Venue>
409
+ open_source_licence:
410
+ image_url: http://i.creativecommons.org/l/by-sa/3.0/88x31.png
411
+ link_url: http://creativecommons.org/licenses/by-sa/3.0/
412
+ long_name: Attribution-ShareAlike 3.0
413
+ organisation: Creative Commons
414
+ short_name: CC BY-SA
415
+ url: http://creativecommons.org/licenses/by-sa/3.0/
416
+ service:
417
+ description: <Service Description>
418
+ dmca_link_url: <Service DMCA Link URL>
419
+ free_features: <Service Free Features>
420
+ name: <Service Name>
421
+ paid_features: <Service Paid Features>
422
+ privacy_policy_url: <Service Privacy Policy URL>
423
+ support_email_address: <Service Support Email Address>
424
+ url: <Service URL>
425
+ dmca_url: <Service DMCA URL>
426
+ support_email: <Service Support Email>
@@ -0,0 +1,27 @@
1
+ require File.dirname(__FILE__) + '/spec_helper'
2
+
3
+ Dir.glob('locales/*.yml') do |locale_file|
4
+ describe "a locale file" do
5
+ it_behaves_like 'a valid locale file', locale_file
6
+ end
7
+ end
8
+
9
+ describe LegalDocs, "::privacy_policy" do
10
+ it "has a title" do
11
+ LegalDocs::privacy_policy.title.should == I18n.t(:'vendor.legal_docs.docs.privacy_policy.title')
12
+ end
13
+
14
+ it "provides all necessary interpolations for the content" do
15
+ expect { LegalDocs::privacy_policy.content }.to_not raise_error(I18n::MissingInterpolationArgument)
16
+ end
17
+ end
18
+
19
+ describe LegalDocs, "::terms_of_service" do
20
+ it "has a title" do
21
+ LegalDocs::terms_of_service.title.should == I18n.t(:'vendor.legal_docs.docs.terms_of_service.title')
22
+ end
23
+
24
+ it "provides all necessary interpolations for the content" do
25
+ expect { LegalDocs::terms_of_service.content }.to_not raise_error(I18n::MissingInterpolationArgument)
26
+ end
27
+ end
@@ -0,0 +1,13 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
+ require 'rspec'
4
+ require 'legal_docs'
5
+ require 'i18n-spec'
6
+
7
+ # Requires supporting files with custom matchers and macros, etc,
8
+ # in ./support/ and its subdirectories.
9
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
10
+
11
+ RSpec.configure do |config|
12
+
13
+ end
metadata ADDED
@@ -0,0 +1,118 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: legal-docs
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Christopher Dell
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-04-04 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: bundler
16
+ requirement: &70247098529200 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: 1.1.2
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: *70247098529200
25
+ - !ruby/object:Gem::Dependency
26
+ name: rspec
27
+ requirement: &70247098528680 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ~>
31
+ - !ruby/object:Gem::Version
32
+ version: 2.8.0
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: *70247098528680
36
+ - !ruby/object:Gem::Dependency
37
+ name: jeweler
38
+ requirement: &70247098543440 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ~>
42
+ - !ruby/object:Gem::Version
43
+ version: 1.8.3
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *70247098543440
47
+ - !ruby/object:Gem::Dependency
48
+ name: i18n-spec
49
+ requirement: &70247098541560 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *70247098541560
58
+ - !ruby/object:Gem::Dependency
59
+ name: localeapp
60
+ requirement: &70247098541080 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *70247098541080
69
+ description: legal-docs provides a customisable privacy policy and terms of service,
70
+ backed by I18n that can used in your apps.
71
+ email: chris@tigrish.com
72
+ executables: []
73
+ extensions: []
74
+ extra_rdoc_files:
75
+ - LICENSE.txt
76
+ - README
77
+ files:
78
+ - .rvmrc
79
+ - Gemfile
80
+ - Gemfile.lock
81
+ - LICENSE.txt
82
+ - README
83
+ - Rakefile
84
+ - VERSION
85
+ - config/i18n.rb
86
+ - lib/legal_docs.rb
87
+ - locales/en.yml
88
+ - spec/legal_docs_spec.rb
89
+ - spec/spec_helper.rb
90
+ homepage: http://github.com/tigrish/legal-docs
91
+ licenses:
92
+ - MIT
93
+ post_install_message:
94
+ rdoc_options: []
95
+ require_paths:
96
+ - lib
97
+ required_ruby_version: !ruby/object:Gem::Requirement
98
+ none: false
99
+ requirements:
100
+ - - ! '>='
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ segments:
104
+ - 0
105
+ hash: 2987317957690543209
106
+ required_rubygems_version: !ruby/object:Gem::Requirement
107
+ none: false
108
+ requirements:
109
+ - - ! '>='
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ requirements: []
113
+ rubyforge_project:
114
+ rubygems_version: 1.8.6
115
+ signing_key:
116
+ specification_version: 3
117
+ summary: Customisable legal documents for your app
118
+ test_files: []