heap-helpers 0.1.0

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 031ebac3f1c6632650dae379427e0f46d5529d02
4
+ data.tar.gz: 8f3bfc58301b00e8725786d8ce71955c78148578
5
+ SHA512:
6
+ metadata.gz: 22dbdcee27ab764699c91efc954eefbc33145fa4e90e71923d154829bb4922b6c6b83196648c0335e8d7e74613c79cac0a75b22b01222c8198e113a3e62a7bbd
7
+ data.tar.gz: d36eec156050dd26c94f921ded930a3e63cd1ee7926bcc190118493b6453c51bf162bebf79da0aeeeed13bbc9ce3b6861ef34958eef5c609db10cf50f83c5fe4
@@ -0,0 +1,5 @@
1
+ lib/**/*.rb
2
+ bin/*
3
+ -
4
+ features/**/*.feature
5
+ LICENSE.txt
@@ -0,0 +1,17 @@
1
+ sudo: false
2
+ language: ruby
3
+ matrix:
4
+ include:
5
+ - rvm: 1.8.7
6
+ gemfile: Gemfile187
7
+ - rvm: 1.9.3
8
+ gemfile: Gemfile
9
+ - rvm: 2.0.0
10
+ gemfile: Gemfile
11
+ - rvm: 2.1.8
12
+ gemfile: Gemfile
13
+ - rvm: 2.2.4
14
+ gemfile: Gemfile
15
+ - rvm: 2.3.0
16
+ gemfile: Gemfile
17
+ env: COVERAGE=1
data/Gemfile ADDED
@@ -0,0 +1,17 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Add dependencies required to use your gem here.
4
+ gem 'heap', '~> 1.0'
5
+
6
+ # Add dependencies to develop your gem here.
7
+ # Include everything needed to run rake, tests, features, etc.
8
+ group :development do
9
+ gem 'activesupport', '>= 2.3.8'
10
+ gem 'bundler', '>= 1.0'
11
+ gem 'coveralls', '>= 0.8.10'
12
+ gem 'jeweler', '>= 2.0.1'
13
+ gem 'minitest', '>= 5.8.4'
14
+ gem 'rdoc', '>= 3.12'
15
+ gem 'simplecov', '>= 0.11.2'
16
+ gem 'yard', '>= 0.8.7.6'
17
+ end
@@ -0,0 +1,25 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Add dependencies required to use your gem here.
4
+ gem 'heap', '~> 1.0'
5
+
6
+ # Add dependencies to develop your gem here.
7
+ # Include everything needed to run rake, tests, features, etc.
8
+ group :development do
9
+ gem 'bundler', '>= 1.0'
10
+ gem 'minitest', '>= 5.8.4'
11
+ gem 'rdoc', '>= 4.2.2'
12
+ gem 'yard', '>= 0.8.7.6'
13
+
14
+ # NOTE: The latest versions of these dependencies do not support Ruby 1.8.7.
15
+ gem 'activesupport', '~> 2.3.8'
16
+ gem 'jeweler', '~> 1.8.8'
17
+
18
+ # NOTE: These are dependencies of the gems that we require whose latest
19
+ # versions do not support Ruby 1.8.7.
20
+ gem 'addressable', '~> 2.3.8'
21
+ gem 'faraday', '~> 0.8.11'
22
+ gem 'faraday_middleware', '~> 0.8.0'
23
+ gem 'git', '~> 1.2.9'
24
+ gem 'highline', '~> 1.6.21'
25
+ end
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2016 Victor Costan
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.
@@ -0,0 +1,75 @@
1
+ # Heap Helpers for Ruby
2
+
3
+ [![Build Status](https://travis-ci.org/pwnall/heap-helpers-ruby.svg?branch=master)](https://travis-ci.org/pwnall/heap-helpers-ruby)
4
+ [![Coverage Status](https://coveralls.io/repos/github/pwnall/heap-helpers-ruby/badge.svg?branch=master)](https://coveralls.io/github/pwnall/heap-helpers-ruby?branch=master)
5
+ [![Dependency Status](https://gemnasium.com/pwnall/heap-helpers-ruby.svg)](https://gemnasium.com/pwnall/heap-helpers/ruby)
6
+ [![Yard Docs](http://img.shields.io/badge/yard-docs-blue.svg)](http://rubydoc.info/github/pwnall/heap-helpers-ruby/master/frames)
7
+ [![Gem Version](https://badge.fury.io/rb/heap-helpers.svg)](https://badge.fury.io/rb/heap-helpers)
8
+
9
+ This Ruby gem contains helpers for embedding the
10
+ [heap.js snippet](https://heapanalytics.com/docs/installation#web) used to
11
+ instal [Heap](https://heapanalytics.com/) on a site.
12
+
13
+
14
+ ## Prerequisites
15
+
16
+ This gem is tested on Ruby 1.8.7 and above, and is expected to work with Rails
17
+ 2.3.8 and above. The gem depends on the official
18
+ [heap](https://github.com/heap/heap-ruby) gem.
19
+
20
+
21
+ ## Installation
22
+
23
+ If you're using [bundler](http://bundler.io/), add the following line to your
24
+ [Gemfile](http://bundler.io/v1.11/gemfile.html).
25
+
26
+ ```ruby
27
+ gem 'heap-helpers'
28
+ ```
29
+
30
+ Otherwise, install the [heap-helpers](https://rubygems.org/gems/heap) gem and
31
+ activate it in your code manually.
32
+
33
+ ```bash
34
+ gem install heap
35
+ ```
36
+
37
+ ```ruby
38
+ require 'heap-helpers'
39
+ ```
40
+
41
+
42
+ ## Setup
43
+
44
+ Follow the instructions for the `heap` gem.
45
+
46
+
47
+ ## Usage
48
+
49
+ Add the following in your layouts or views, before the closing `</head>` tag.
50
+ In a typical Ruby on Rails application, this change would go into
51
+ `app/views/layouts/application.html.erb`.
52
+
53
+ ```erb
54
+ <%= Heap.javascript_tag %>
55
+ ```
56
+
57
+ The helper supports advanced heap.js options.
58
+
59
+ ```erb
60
+ <%= Heap.javascript_tag force_ssl: true %>
61
+ ```
62
+
63
+ You can also specify advanced options in the initialization code. This is
64
+ especially useful if you're using the same helper in multiple places in your
65
+ code.
66
+
67
+ ```ruby
68
+ Heap.app_id = 'YOUR_APP_ID'
69
+ Heap.js_options = { force_ssl: true }
70
+ ```
71
+
72
+
73
+ ## Copyright
74
+
75
+ Copyright (c) 2016 Victor Costan, released under the MIT license.
@@ -0,0 +1,44 @@
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://guides.rubygems.org/specification-reference/ for more options
17
+ gem.name = "heap-helpers"
18
+ gem.homepage = "http://github.com/pwnall/heap-helpers-ruby"
19
+ gem.license = "MIT"
20
+ gem.summary = %Q{Heap javascript snippet helpers}
21
+ gem.description = %Q{Rails-compatible helpers for setting the heap.js snippet}
22
+ gem.email = "victor@costan.us"
23
+ gem.authors = ["Victor Costan"]
24
+ # dependencies defined in Gemfile
25
+ end
26
+ Jeweler::RubygemsDotOrgTasks.new
27
+
28
+ require 'rake/testtask'
29
+ Rake::TestTask.new(:test) do |test|
30
+ test.libs << 'lib' << 'test'
31
+ test.pattern = 'test/**/*_test.rb'
32
+ test.verbose = true
33
+ end
34
+
35
+ desc 'Code coverage detail'
36
+ task :simplecov do
37
+ ENV['COVERAGE'] = 'true'
38
+ Rake::Task['test'].execute
39
+ end
40
+
41
+ task :default => :test
42
+
43
+ require 'yard'
44
+ YARD::Rake::YardocTask.new
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.1.0
@@ -0,0 +1,81 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+ # stub: heap-helpers 0.1.0 ruby lib
6
+
7
+ Gem::Specification.new do |s|
8
+ s.name = "heap-helpers"
9
+ s.version = "0.1.0"
10
+
11
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib"]
13
+ s.authors = ["Victor Costan"]
14
+ s.date = "2016-03-01"
15
+ s.description = "Rails-compatible helpers for setting the heap.js snippet"
16
+ s.email = "victor@costan.us"
17
+ s.extra_rdoc_files = [
18
+ "LICENSE.txt",
19
+ "README.md"
20
+ ]
21
+ s.files = [
22
+ ".document",
23
+ ".travis.yml",
24
+ "Gemfile",
25
+ "Gemfile187",
26
+ "LICENSE.txt",
27
+ "README.md",
28
+ "Rakefile",
29
+ "VERSION",
30
+ "heap-helpers.gemspec",
31
+ "lib/heap-helpers.rb",
32
+ "lib/heap-helpers/client.rb",
33
+ "lib/heap-helpers/helpers.rb",
34
+ "lib/heap-helpers/snippet.js",
35
+ "test/client_test.rb",
36
+ "test/heap_test.rb",
37
+ "test/helper.rb",
38
+ "test/tags_test.rb"
39
+ ]
40
+ s.homepage = "http://github.com/pwnall/heap-helpers-ruby"
41
+ s.licenses = ["MIT"]
42
+ s.rubygems_version = "2.5.1"
43
+ s.summary = "Heap javascript snippet helpers"
44
+
45
+ if s.respond_to? :specification_version then
46
+ s.specification_version = 4
47
+
48
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
49
+ s.add_runtime_dependency(%q<heap>, ["~> 1.0"])
50
+ s.add_development_dependency(%q<activesupport>, [">= 2.3.8"])
51
+ s.add_development_dependency(%q<bundler>, [">= 1.0"])
52
+ s.add_development_dependency(%q<coveralls>, [">= 0.8.10"])
53
+ s.add_development_dependency(%q<jeweler>, [">= 2.0.1"])
54
+ s.add_development_dependency(%q<minitest>, [">= 5.8.4"])
55
+ s.add_development_dependency(%q<rdoc>, [">= 3.12"])
56
+ s.add_development_dependency(%q<simplecov>, [">= 0.11.2"])
57
+ s.add_development_dependency(%q<yard>, [">= 0.8.7.6"])
58
+ else
59
+ s.add_dependency(%q<heap>, ["~> 1.0"])
60
+ s.add_dependency(%q<activesupport>, [">= 2.3.8"])
61
+ s.add_dependency(%q<bundler>, [">= 1.0"])
62
+ s.add_dependency(%q<coveralls>, [">= 0.8.10"])
63
+ s.add_dependency(%q<jeweler>, [">= 2.0.1"])
64
+ s.add_dependency(%q<minitest>, [">= 5.8.4"])
65
+ s.add_dependency(%q<rdoc>, [">= 3.12"])
66
+ s.add_dependency(%q<simplecov>, [">= 0.11.2"])
67
+ s.add_dependency(%q<yard>, [">= 0.8.7.6"])
68
+ end
69
+ else
70
+ s.add_dependency(%q<heap>, ["~> 1.0"])
71
+ s.add_dependency(%q<activesupport>, [">= 2.3.8"])
72
+ s.add_dependency(%q<bundler>, [">= 1.0"])
73
+ s.add_dependency(%q<coveralls>, [">= 0.8.10"])
74
+ s.add_dependency(%q<jeweler>, [">= 2.0.1"])
75
+ s.add_dependency(%q<minitest>, [">= 5.8.4"])
76
+ s.add_dependency(%q<rdoc>, [">= 3.12"])
77
+ s.add_dependency(%q<simplecov>, [">= 0.11.2"])
78
+ s.add_dependency(%q<yard>, [">= 0.8.7.6"])
79
+ end
80
+ end
81
+
@@ -0,0 +1,4 @@
1
+ require 'heap'
2
+
3
+ require 'heap-helpers/helpers.rb'
4
+ require 'heap-helpers/client.rb'
@@ -0,0 +1,3 @@
1
+ class HeapAPI::Client
2
+ include HeapAPI::Helpers
3
+ end
@@ -0,0 +1,66 @@
1
+ # Helper tags.
2
+ module HeapAPI::Helpers
3
+ # Generates a <script> tag that includes and configures heap.js.
4
+ #
5
+ # The tag should be inserted before the closing </head> tag on each page of
6
+ # the site.
7
+ #
8
+ # @param options [Hash] advanced configuration for heap.js
9
+ # @option options [Boolean] :force_ssl when set to true, heap.js will only
10
+ # use SSL to send data to our collection endpoints; defaults to false
11
+ # @option options [Boolean] :secure_cookie when set to true, user cookies in
12
+ # heap.js will only be transmitted via SSL; defaults to false
13
+ # @option options [Boolean] :disable_text_capture when set to true, heap.js
14
+ # will not capture the text content of elements; defaults to false
15
+ # @return {ActiveSupport::SafeBuffer} <script> tag that includes and
16
+ # configures heap.js
17
+ # @see https://heapanalytics.com/docs/installation#web
18
+ def javascript_tag(options = {})
19
+ ensure_valid_app_id!
20
+ app_string = app_id.inspect
21
+
22
+ option_strings = []
23
+ options.merge(js_options).each do |key, value|
24
+ unless js_key = JS_OPTIONS[key]
25
+ raise ArgumentError, "Invalid heap.js advanced option #{key.inspect}"
26
+ end
27
+ option_strings << "#{js_key}:#{!!value}"
28
+ end
29
+
30
+ if option_strings.empty?
31
+ js_args = app_string
32
+ else
33
+ js_args = "#{app_string},{#{option_strings.join(',')}}"
34
+ end
35
+
36
+ JS_SNIPPET.join(js_args).html_safe
37
+ end
38
+
39
+ # @return [Hash<Symbol, Object>] default heap.js advanced options
40
+ # @see HeapAPI::Client#javascript_tag
41
+ attr_accessor :js_options
42
+
43
+ def js_options
44
+ @js_options ||= {}
45
+ end
46
+
47
+ def js_options=(new_options)
48
+ new_options.each do |key, value|
49
+ unless JS_OPTIONS[key]
50
+ raise ArgumentError, "Invalid heap.js advanced option #{key.inspect}"
51
+ end
52
+ end
53
+ @js_options = new_options
54
+ end
55
+
56
+ # The fragments that make up the Heap JS snippet.
57
+ JS_SNIPPET = File.read(File.join(File.dirname(__FILE__), 'snippet.js')).
58
+ split('$$args')
59
+
60
+ # Maps Ruby-esque snake_case heap.js options to JS-esque CamelCase options.
61
+ JS_OPTIONS = {
62
+ :force_ssl => 'forceSSL',
63
+ :secure_cookie => 'secureCookie',
64
+ :disable_text_capture => 'disableTextCapture',
65
+ }
66
+ end
@@ -0,0 +1 @@
1
+ <script type="text/javascript">window.heap=window.heap||[],heap.load=function(e,t){window.heap.appid=e,window.heap.config=t=t||{};var n=t.forceSSL||"https:"===document.location.protocol,a=document.createElement("script");a.type="text/javascript",a.async=!0,a.src=(n?"https:":"http:")+"//cdn.heapanalytics.com/js/heap-"+e+".js";var o=document.getElementsByTagName("script")[0];o.parentNode.insertBefore(a,o);for(var r=function(e){return function(){heap.push([e].concat(Array.prototype.slice.call(arguments,0)))}},p=["clearEventProperties","identify","setEventProperties","track","unsetEventProperty"],c=0;c<p.length;c++)heap[p[c]]=r(p[c])};heap.load($$args);</script>
@@ -0,0 +1,30 @@
1
+ require 'helper'
2
+
3
+ class ClientTest < MiniTest::Test
4
+ def setup
5
+ @heap = HeapAPI::Client.new
6
+ end
7
+
8
+ def test_default_js_options
9
+ assert_equal({}, @heap.js_options)
10
+ end
11
+
12
+ def test_js_options_setter
13
+ @heap.js_options = { :force_ssl => true }
14
+ assert_equal({ :force_ssl => true }, @heap.js_options)
15
+ end
16
+
17
+ def test_invalid_js_options
18
+ exception = assert_raises ArgumentError do
19
+ @heap.js_options = { :derp => true }
20
+ end
21
+ assert_equal ArgumentError, exception.class
22
+ assert_equal 'Invalid heap.js advanced option :derp', exception.message
23
+ end
24
+ def test_constructor_options
25
+ heap = Heap.new :app_id => 'test-app-id',
26
+ :js_options => { :force_ssl => true }
27
+ assert_equal 'test-app-id', heap.app_id
28
+ assert_equal({ :force_ssl => true }, heap.js_options)
29
+ end
30
+ end
@@ -0,0 +1,7 @@
1
+ require 'helper'
2
+
3
+ class HeapTest < MiniTest::Test
4
+ def test_heap_js_options
5
+ assert_equal({}, Heap.js_options)
6
+ end
7
+ end
@@ -0,0 +1,47 @@
1
+ if RUBY_VERSION >= '1.9' # simplecov only works on MRI 1.9+
2
+ require 'simplecov'
3
+ require 'coveralls'
4
+
5
+ module SimpleCov::Configuration
6
+ def clean_filters
7
+ @filters = []
8
+ end
9
+ end
10
+
11
+ SimpleCov.configure do
12
+ clean_filters
13
+ load_adapter 'test_frameworks'
14
+ end
15
+
16
+ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
17
+ SimpleCov::Formatter::HTMLFormatter,
18
+ Coveralls::SimpleCov::Formatter
19
+ ]
20
+
21
+ ENV["COVERAGE"] && SimpleCov.start do
22
+ add_filter "/.rvm/"
23
+ end
24
+ end
25
+
26
+ require 'rubygems'
27
+ require 'bundler'
28
+ begin
29
+ Bundler.setup(:default, :development)
30
+ rescue Bundler::BundlerError => e
31
+ $stderr.puts e.message
32
+ $stderr.puts "Run `bundle install` to install missing gems"
33
+ exit e.status_code
34
+ end
35
+ require 'minitest/autorun'
36
+
37
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
38
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
39
+ require 'heap-helpers'
40
+
41
+ # We need String#html_safe.
42
+ require 'active_support/core_ext/string/output_safety'
43
+
44
+ class MiniTest::Test
45
+ end
46
+
47
+ MiniTest.autorun
@@ -0,0 +1,63 @@
1
+ require 'helper'
2
+
3
+ class TagsTest < MiniTest::Test
4
+ def setup
5
+ @heap = HeapAPI::Client.new
6
+ @heap.app_id = 'test-app-id'
7
+ @heap.js_options = {}
8
+ end
9
+
10
+ def test_javascript_tag_without_app_id
11
+ new_client = HeapAPI::Client.new
12
+ exception = assert_raises RuntimeError do
13
+ new_client.javascript_tag
14
+ end
15
+ assert_equal RuntimeError, exception.class
16
+ assert_equal 'Heap app_id not set', exception.message
17
+ end
18
+
19
+ def test_javascript_tag_with_invalid_option
20
+ exception = assert_raises ArgumentError do
21
+ @heap.javascript_tag :derp => true
22
+ end
23
+ assert_equal ArgumentError, exception.class
24
+ assert_equal 'Invalid heap.js advanced option :derp', exception.message
25
+ end
26
+
27
+ def test_javascript_tag
28
+ assert_includes @heap.javascript_tag, 'heap.load("test-app-id");'
29
+ end
30
+
31
+ def test_javascript_tag_is_html_safe
32
+ buffer = ''.html_safe
33
+ buffer << @heap.javascript_tag
34
+
35
+ assert_match(/\A<script /, buffer)
36
+ assert_match(/<\/script>\Z/, buffer)
37
+ assert_includes buffer, 'heap.load("test-app-id");'
38
+ end
39
+
40
+ def test_javascript_tag_options
41
+ assert_includes @heap.javascript_tag(:disable_text_capture => true),
42
+ 'heap.load("test-app-id",{disableTextCapture:true});'
43
+
44
+ tag_text = @heap.javascript_tag :force_ssl => true, :secure_cookie => true
45
+ assert_match(/heap\.load\("test-app-id",\{.*\}\);/, tag_text)
46
+ match = /heap\.load\("test-app-id",\{(.*)\}\);/.match tag_text
47
+ assert_includes(['forceSSL:true,secureCookie:true',
48
+ 'secureCookie:true,forceSSL:true'], match[1])
49
+ end
50
+
51
+ def test_javascript_tag_default_options
52
+ @heap.js_options = { :disable_text_capture => true }
53
+ assert_includes @heap.javascript_tag,
54
+ 'heap.load("test-app-id",{disableTextCapture:true});'
55
+
56
+ @heap.js_options = { :force_ssl => true }
57
+ tag_text = @heap.javascript_tag :secure_cookie => true
58
+ assert_match(/heap\.load\("test-app-id",\{.*\}\);/, tag_text)
59
+ match = /heap\.load\("test-app-id",\{(.*)\}\);/.match tag_text
60
+ assert_includes(['forceSSL:true,secureCookie:true',
61
+ 'secureCookie:true,forceSSL:true'], match[1])
62
+ end
63
+ end
metadata ADDED
@@ -0,0 +1,188 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: heap-helpers
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Victor Costan
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-03-01 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: heap
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: activesupport
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 2.3.8
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 2.3.8
41
+ - !ruby/object:Gem::Dependency
42
+ name: bundler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '1.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '1.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: coveralls
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: 0.8.10
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: 0.8.10
69
+ - !ruby/object:Gem::Dependency
70
+ name: jeweler
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 2.0.1
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: 2.0.1
83
+ - !ruby/object:Gem::Dependency
84
+ name: minitest
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: 5.8.4
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: 5.8.4
97
+ - !ruby/object:Gem::Dependency
98
+ name: rdoc
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '3.12'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '3.12'
111
+ - !ruby/object:Gem::Dependency
112
+ name: simplecov
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: 0.11.2
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: 0.11.2
125
+ - !ruby/object:Gem::Dependency
126
+ name: yard
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: 0.8.7.6
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: 0.8.7.6
139
+ description: Rails-compatible helpers for setting the heap.js snippet
140
+ email: victor@costan.us
141
+ executables: []
142
+ extensions: []
143
+ extra_rdoc_files:
144
+ - LICENSE.txt
145
+ - README.md
146
+ files:
147
+ - ".document"
148
+ - ".travis.yml"
149
+ - Gemfile
150
+ - Gemfile187
151
+ - LICENSE.txt
152
+ - README.md
153
+ - Rakefile
154
+ - VERSION
155
+ - heap-helpers.gemspec
156
+ - lib/heap-helpers.rb
157
+ - lib/heap-helpers/client.rb
158
+ - lib/heap-helpers/helpers.rb
159
+ - lib/heap-helpers/snippet.js
160
+ - test/client_test.rb
161
+ - test/heap_test.rb
162
+ - test/helper.rb
163
+ - test/tags_test.rb
164
+ homepage: http://github.com/pwnall/heap-helpers-ruby
165
+ licenses:
166
+ - MIT
167
+ metadata: {}
168
+ post_install_message:
169
+ rdoc_options: []
170
+ require_paths:
171
+ - lib
172
+ required_ruby_version: !ruby/object:Gem::Requirement
173
+ requirements:
174
+ - - ">="
175
+ - !ruby/object:Gem::Version
176
+ version: '0'
177
+ required_rubygems_version: !ruby/object:Gem::Requirement
178
+ requirements:
179
+ - - ">="
180
+ - !ruby/object:Gem::Version
181
+ version: '0'
182
+ requirements: []
183
+ rubyforge_project:
184
+ rubygems_version: 2.5.1
185
+ signing_key:
186
+ specification_version: 4
187
+ summary: Heap javascript snippet helpers
188
+ test_files: []