analytics-ruby 2.0.3 → 2.0.5
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/Gemfile.lock +14 -1
- data/History.md +4 -0
- data/analytics-ruby.gemspec +2 -0
- data/lib/segment/analytics/client.rb +1 -0
- data/lib/segment/analytics/utils.rb +4 -3
- data/lib/segment/analytics/version.rb +1 -1
- data/spec/segment/analytics/client_spec.rb +39 -2
- data/spec/spec_helper.rb +4 -0
- metadata +34 -9
    
        data/Gemfile.lock
    CHANGED
    
    | @@ -1,12 +1,19 @@ | |
| 1 1 | 
             
            PATH
         | 
| 2 2 | 
             
              remote: .
         | 
| 3 3 | 
             
              specs:
         | 
| 4 | 
            -
                analytics-ruby (2.0. | 
| 4 | 
            +
                analytics-ruby (2.0.5)
         | 
| 5 | 
            +
                  json (~> 1.7)
         | 
| 5 6 |  | 
| 6 7 | 
             
            GEM
         | 
| 7 8 | 
             
              remote: http://rubygems.org/
         | 
| 8 9 | 
             
              specs:
         | 
| 10 | 
            +
                activesupport (3.2.18)
         | 
| 11 | 
            +
                  i18n (~> 0.6, >= 0.6.4)
         | 
| 12 | 
            +
                  multi_json (~> 1.0)
         | 
| 9 13 | 
             
                diff-lcs (1.2.5)
         | 
| 14 | 
            +
                i18n (0.6.9)
         | 
| 15 | 
            +
                json (1.8.1)
         | 
| 16 | 
            +
                multi_json (1.10.1)
         | 
| 10 17 | 
             
                predicated (0.2.6)
         | 
| 11 18 | 
             
                rake (10.3.1)
         | 
| 12 19 | 
             
                rspec (2.14.1)
         | 
| @@ -23,6 +30,10 @@ GEM | |
| 23 30 | 
             
                ruby_parser (3.6.1)
         | 
| 24 31 | 
             
                  sexp_processor (~> 4.1)
         | 
| 25 32 | 
             
                sexp_processor (4.4.3)
         | 
| 33 | 
            +
                thread_safe (0.3.4)
         | 
| 34 | 
            +
                thread_safe (0.3.4-java)
         | 
| 35 | 
            +
                tzinfo (1.2.1)
         | 
| 36 | 
            +
                  thread_safe (~> 0.1)
         | 
| 26 37 | 
             
                wrong (0.7.1)
         | 
| 27 38 | 
             
                  diff-lcs (~> 1.2.5)
         | 
| 28 39 | 
             
                  predicated (~> 0.2.6)
         | 
| @@ -41,7 +52,9 @@ PLATFORMS | |
| 41 52 | 
             
              ruby
         | 
| 42 53 |  | 
| 43 54 | 
             
            DEPENDENCIES
         | 
| 55 | 
            +
              activesupport (>= 3.0.0, < 4.0.0)
         | 
| 44 56 | 
             
              analytics-ruby!
         | 
| 45 57 | 
             
              rake (~> 10.3)
         | 
| 46 58 | 
             
              rspec (~> 2.0)
         | 
| 59 | 
            +
              tzinfo (= 1.2.1)
         | 
| 47 60 | 
             
              wrong (~> 0.0)
         | 
    
        data/History.md
    CHANGED
    
    
    
        data/analytics-ruby.gemspec
    CHANGED
    
    | @@ -18,4 +18,6 @@ Gem::Specification.new do |spec| | |
| 18 18 | 
             
              spec.add_development_dependency 'rake', '~> 10.3'
         | 
| 19 19 | 
             
              spec.add_development_dependency 'wrong', '~> 0.0'
         | 
| 20 20 | 
             
              spec.add_development_dependency 'rspec', '~> 2.0'
         | 
| 21 | 
            +
              spec.add_development_dependency 'tzinfo', '1.2.1'
         | 
| 22 | 
            +
              spec.add_development_dependency 'activesupport', '>= 3.0.0', '<4.0.0'
         | 
| 21 23 | 
             
            end
         | 
| @@ -49,10 +49,11 @@ module Segment | |
| 49 49 | 
             
                  end
         | 
| 50 50 |  | 
| 51 51 | 
             
                  def datetime_in_iso8601 datetime
         | 
| 52 | 
            -
                     | 
| 52 | 
            +
                    case datetime
         | 
| 53 | 
            +
                    when Time, DateTime
         | 
| 54 | 
            +
                        time_in_iso8601 datetime
         | 
| 55 | 
            +
                    when Date
         | 
| 53 56 | 
             
                      date_in_iso8601 datetime
         | 
| 54 | 
            -
                    elsif datetime.is_a? Time
         | 
| 55 | 
            -
                      time_in_iso8601 datetime
         | 
| 56 57 | 
             
                    else
         | 
| 57 58 | 
             
                      datetime
         | 
| 58 59 | 
             
                    end
         | 
| @@ -65,17 +65,23 @@ module Segment | |
| 65 65 | 
             
                      @queue.pop
         | 
| 66 66 | 
             
                    end
         | 
| 67 67 |  | 
| 68 | 
            -
                    it 'should convert  | 
| 68 | 
            +
                    it 'should convert time and date traits into iso8601 format' do
         | 
| 69 69 | 
             
                      @client.track({
         | 
| 70 70 | 
             
                        :user_id => 'user',
         | 
| 71 71 | 
             
                        :event => 'Event',
         | 
| 72 72 | 
             
                        :properties => {
         | 
| 73 73 | 
             
                          :time => Time.utc(2013),
         | 
| 74 | 
            +
                          :time_with_zone =>  Time.zone.parse('2013-01-01'),
         | 
| 75 | 
            +
                          :date_time => DateTime.new(2013,1,1),
         | 
| 76 | 
            +
                          :date => Date.new(2013,1,1),
         | 
| 74 77 | 
             
                          :nottime => 'x'
         | 
| 75 78 | 
             
                        }
         | 
| 76 79 | 
             
                      })
         | 
| 77 80 | 
             
                      message = @queue.pop
         | 
| 78 81 | 
             
                      message[:properties][:time].should == '2013-01-01T00:00:00Z'
         | 
| 82 | 
            +
                      message[:properties][:time_with_zone].should == '2013-01-01T00:00:00Z'
         | 
| 83 | 
            +
                      message[:properties][:date_time].should == '2013-01-01T00:00:00Z'
         | 
| 84 | 
            +
                      message[:properties][:date].should == '2013-01-01'
         | 
| 79 85 | 
             
                      message[:properties][:nottime].should == 'x'
         | 
| 80 86 | 
             
                    end
         | 
| 81 87 | 
             
                  end
         | 
| @@ -101,16 +107,22 @@ module Segment | |
| 101 107 | 
             
                      @queue.pop
         | 
| 102 108 | 
             
                    end
         | 
| 103 109 |  | 
| 104 | 
            -
                    it 'should convert  | 
| 110 | 
            +
                    it 'should convert time and date traits into iso8601 format' do
         | 
| 105 111 | 
             
                      @client.identify({
         | 
| 106 112 | 
             
                        :user_id => 'user',
         | 
| 107 113 | 
             
                        :traits => {
         | 
| 108 114 | 
             
                          :time => Time.utc(2013),
         | 
| 115 | 
            +
                          :time_with_zone =>  Time.zone.parse('2013-01-01'),
         | 
| 116 | 
            +
                          :date_time => DateTime.new(2013,1,1),
         | 
| 117 | 
            +
                          :date => Date.new(2013,1,1),
         | 
| 109 118 | 
             
                          :nottime => 'x'
         | 
| 110 119 | 
             
                        }
         | 
| 111 120 | 
             
                      })
         | 
| 112 121 | 
             
                      message = @queue.pop
         | 
| 113 122 | 
             
                      message[:traits][:time].should == '2013-01-01T00:00:00Z'
         | 
| 123 | 
            +
                      message[:traits][:time_with_zone].should == '2013-01-01T00:00:00Z'
         | 
| 124 | 
            +
                      message[:traits][:date_time].should == '2013-01-01T00:00:00Z'
         | 
| 125 | 
            +
                      message[:traits][:date].should == '2013-01-01'
         | 
| 114 126 | 
             
                      message[:traits][:nottime].should == 'x'
         | 
| 115 127 | 
             
                    end
         | 
| 116 128 | 
             
                  end
         | 
| @@ -140,6 +152,11 @@ module Segment | |
| 140 152 | 
             
                  describe '#group' do
         | 
| 141 153 | 
             
                    before :all do
         | 
| 142 154 | 
             
                      @client = Client.new :write_key => WRITE_KEY
         | 
| 155 | 
            +
                      @queue = @client.instance_variable_get :@queue
         | 
| 156 | 
            +
                    end
         | 
| 157 | 
            +
             | 
| 158 | 
            +
                    after :each do
         | 
| 159 | 
            +
                      @client.flush
         | 
| 143 160 | 
             
                    end
         | 
| 144 161 |  | 
| 145 162 | 
             
                    it 'should error without group_id' do
         | 
| @@ -157,6 +174,26 @@ module Segment | |
| 157 174 | 
             
                    it 'should not error with the required options as strings' do
         | 
| 158 175 | 
             
                      @client.group Utils.stringify_keys(Queued::GROUP)
         | 
| 159 176 | 
             
                    end
         | 
| 177 | 
            +
             | 
| 178 | 
            +
                    it 'should convert time and date traits into iso8601 format' do
         | 
| 179 | 
            +
                      @client.identify({
         | 
| 180 | 
            +
                        :user_id => 'user',
         | 
| 181 | 
            +
                        :group_id => 'group',
         | 
| 182 | 
            +
                        :traits => {
         | 
| 183 | 
            +
                          :time => Time.utc(2013),
         | 
| 184 | 
            +
                          :time_with_zone =>  Time.zone.parse('2013-01-01'),
         | 
| 185 | 
            +
                          :date_time => DateTime.new(2013,1,1),
         | 
| 186 | 
            +
                          :date => Date.new(2013,1,1),
         | 
| 187 | 
            +
                          :nottime => 'x'
         | 
| 188 | 
            +
                        }
         | 
| 189 | 
            +
                      })
         | 
| 190 | 
            +
                      message = @queue.pop
         | 
| 191 | 
            +
                      message[:traits][:time].should == '2013-01-01T00:00:00Z'
         | 
| 192 | 
            +
                      message[:traits][:time_with_zone].should == '2013-01-01T00:00:00Z'
         | 
| 193 | 
            +
                      message[:traits][:date_time].should == '2013-01-01T00:00:00Z'
         | 
| 194 | 
            +
                      message[:traits][:date].should == '2013-01-01'
         | 
| 195 | 
            +
                      message[:traits][:nottime].should == 'x'
         | 
| 196 | 
            +
                    end
         | 
| 160 197 | 
             
                  end
         | 
| 161 198 |  | 
| 162 199 | 
             
                  describe '#page' do
         | 
    
        data/spec/spec_helper.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: analytics-ruby
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 2.0. | 
| 4 | 
            +
              version: 2.0.5
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| @@ -9,11 +9,11 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2014-06- | 
| 12 | 
            +
            date: 2014-06-26 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: rake
         | 
| 16 | 
            -
              requirement: & | 
| 16 | 
            +
              requirement: &18470280 !ruby/object:Gem::Requirement
         | 
| 17 17 | 
             
                none: false
         | 
| 18 18 | 
             
                requirements:
         | 
| 19 19 | 
             
                - - ~>
         | 
| @@ -21,10 +21,10 @@ dependencies: | |
| 21 21 | 
             
                    version: '10.3'
         | 
| 22 22 | 
             
              type: :development
         | 
| 23 23 | 
             
              prerelease: false
         | 
| 24 | 
            -
              version_requirements: * | 
| 24 | 
            +
              version_requirements: *18470280
         | 
| 25 25 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 26 26 | 
             
              name: wrong
         | 
| 27 | 
            -
              requirement: & | 
| 27 | 
            +
              requirement: &18469780 !ruby/object:Gem::Requirement
         | 
| 28 28 | 
             
                none: false
         | 
| 29 29 | 
             
                requirements:
         | 
| 30 30 | 
             
                - - ~>
         | 
| @@ -32,10 +32,10 @@ dependencies: | |
| 32 32 | 
             
                    version: '0.0'
         | 
| 33 33 | 
             
              type: :development
         | 
| 34 34 | 
             
              prerelease: false
         | 
| 35 | 
            -
              version_requirements: * | 
| 35 | 
            +
              version_requirements: *18469780
         | 
| 36 36 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 37 37 | 
             
              name: rspec
         | 
| 38 | 
            -
              requirement: & | 
| 38 | 
            +
              requirement: &18469320 !ruby/object:Gem::Requirement
         | 
| 39 39 | 
             
                none: false
         | 
| 40 40 | 
             
                requirements:
         | 
| 41 41 | 
             
                - - ~>
         | 
| @@ -43,14 +43,39 @@ dependencies: | |
| 43 43 | 
             
                    version: '2.0'
         | 
| 44 44 | 
             
              type: :development
         | 
| 45 45 | 
             
              prerelease: false
         | 
| 46 | 
            -
              version_requirements: * | 
| 46 | 
            +
              version_requirements: *18469320
         | 
| 47 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 48 | 
            +
              name: tzinfo
         | 
| 49 | 
            +
              requirement: &18468860 !ruby/object:Gem::Requirement
         | 
| 50 | 
            +
                none: false
         | 
| 51 | 
            +
                requirements:
         | 
| 52 | 
            +
                - - =
         | 
| 53 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 54 | 
            +
                    version: 1.2.1
         | 
| 55 | 
            +
              type: :development
         | 
| 56 | 
            +
              prerelease: false
         | 
| 57 | 
            +
              version_requirements: *18468860
         | 
| 58 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 59 | 
            +
              name: activesupport
         | 
| 60 | 
            +
              requirement: &18468380 !ruby/object:Gem::Requirement
         | 
| 61 | 
            +
                none: false
         | 
| 62 | 
            +
                requirements:
         | 
| 63 | 
            +
                - - ! '>='
         | 
| 64 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 65 | 
            +
                    version: 3.0.0
         | 
| 66 | 
            +
                - - <
         | 
| 67 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 68 | 
            +
                    version: 4.0.0
         | 
| 69 | 
            +
              type: :development
         | 
| 70 | 
            +
              prerelease: false
         | 
| 71 | 
            +
              version_requirements: *18468380
         | 
| 47 72 | 
             
            description: The Segment.io ruby analytics library
         | 
| 48 73 | 
             
            email: friends@segment.io
         | 
| 49 74 | 
             
            executables: []
         | 
| 50 75 | 
             
            extensions: []
         | 
| 51 76 | 
             
            extra_rdoc_files: []
         | 
| 52 77 | 
             
            files:
         | 
| 53 | 
            -
            - analytics-ruby-2.0. | 
| 78 | 
            +
            - analytics-ruby-2.0.5.gem
         | 
| 54 79 | 
             
            - analytics-ruby.gemspec
         | 
| 55 80 | 
             
            - Gemfile
         | 
| 56 81 | 
             
            - Gemfile.lock
         |