split-export 0.3.0 → 1.0.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: 94516c1df769987886e7bd0b55020f14050073c4
4
+ data.tar.gz: 3b1152eb551d5b5bb4f5b80341002d2abb1b7eac
5
+ SHA512:
6
+ metadata.gz: 60d0abd7ec3133040ad118f75bc5a5c81319afe8487594304615623a8bf52899e8ef5a87fab31177e9603563be25f0d164144a0ad60a8c86d3a1a72ac0e0952d
7
+ data.tar.gz: 5427171a49386e4f5792cacb7afb9de0dc20c8f278cf18122bf5e03582be119ccc1443fd5e327de08f5176d92226bc4120f12df9cad2fd19f3ae5173ce33bea2
@@ -0,0 +1,74 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ In the interest of fostering an open and welcoming environment, we as
6
+ contributors and maintainers pledge to making participation in our project and
7
+ our community a harassment-free experience for everyone, regardless of age, body
8
+ size, disability, ethnicity, gender identity and expression, level of experience,
9
+ nationality, personal appearance, race, religion, or sexual identity and
10
+ orientation.
11
+
12
+ ## Our Standards
13
+
14
+ Examples of behavior that contributes to creating a positive environment
15
+ include:
16
+
17
+ * Using welcoming and inclusive language
18
+ * Being respectful of differing viewpoints and experiences
19
+ * Gracefully accepting constructive criticism
20
+ * Focusing on what is best for the community
21
+ * Showing empathy towards other community members
22
+
23
+ Examples of unacceptable behavior by participants include:
24
+
25
+ * The use of sexualized language or imagery and unwelcome sexual attention or
26
+ advances
27
+ * Trolling, insulting/derogatory comments, and personal or political attacks
28
+ * Public or private harassment
29
+ * Publishing others' private information, such as a physical or electronic
30
+ address, without explicit permission
31
+ * Other conduct which could reasonably be considered inappropriate in a
32
+ professional setting
33
+
34
+ ## Our Responsibilities
35
+
36
+ Project maintainers are responsible for clarifying the standards of acceptable
37
+ behavior and are expected to take appropriate and fair corrective action in
38
+ response to any instances of unacceptable behavior.
39
+
40
+ Project maintainers have the right and responsibility to remove, edit, or
41
+ reject comments, commits, code, wiki edits, issues, and other contributions
42
+ that are not aligned to this Code of Conduct, or to ban temporarily or
43
+ permanently any contributor for other behaviors that they deem inappropriate,
44
+ threatening, offensive, or harmful.
45
+
46
+ ## Scope
47
+
48
+ This Code of Conduct applies both within project spaces and in public spaces
49
+ when an individual is representing the project or its community. Examples of
50
+ representing a project or community include using an official project e-mail
51
+ address, posting via an official social media account, or acting as an appointed
52
+ representative at an online or offline event. Representation of a project may be
53
+ further defined and clarified by project maintainers.
54
+
55
+ ## Enforcement
56
+
57
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
+ reported by contacting the project team at andrewnez@gmail.com. All
59
+ complaints will be reviewed and investigated and will result in a response that
60
+ is deemed necessary and appropriate to the circumstances. The project team is
61
+ obligated to maintain confidentiality with regard to the reporter of an incident.
62
+ Further details of specific enforcement policies may be posted separately.
63
+
64
+ Project maintainers who do not follow or enforce the Code of Conduct in good
65
+ faith may face temporary or permanent repercussions as determined by other
66
+ members of the project's leadership.
67
+
68
+ ## Attribution
69
+
70
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
+ available at [http://contributor-covenant.org/version/1/4][version]
72
+
73
+ [homepage]: http://contributor-covenant.org
74
+ [version]: http://contributor-covenant.org/version/1/4/
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2011 Andrew Nesbitt
1
+ Copyright (c) 2013 Andrew Nesbitt
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
@@ -1,6 +1,6 @@
1
- # Split::Export
1
+ # [Split Export](http://libraries.io/rubygems/split-export)
2
2
 
3
- An extension to [Split](http://github.com/andrew/split) to allow for easy exporting of AB testing data.
3
+ An extension to [Split](http://github.com/splitrb/split) to allow for easy exporting of AB testing data.
4
4
 
5
5
  ## Requirements
6
6
 
@@ -28,12 +28,12 @@ and require it in your project:
28
28
 
29
29
  require 'split/export'
30
30
  csv_data = Split::Export.to_csv
31
- File.open('path/to/my.csv, 'w') {|f| f.write(csv_data) }
31
+ File.open('path/to/my.csv', 'w') {|f| f.write(csv_data) }
32
32
 
33
33
  ## Development
34
34
 
35
- Source hosted at [GitHub](http://github.com/andrew/split-export).
36
- Report Issues/Feature requests on [GitHub Issues](http://github.com/andrew/split-export/issues).
35
+ Source hosted at [GitHub](http://github.com/splitrb/split-export).
36
+ Report Issues/Feature requests on [GitHub Issues](http://github.com/splitrb/split-export/issues).
37
37
 
38
38
  Tests can be ran with `rake spec`
39
39
 
@@ -49,4 +49,4 @@ Tests can be ran with `rake spec`
49
49
 
50
50
  ## Copyright
51
51
 
52
- Copyright (c) 2011 Andrew Nesbitt. See LICENSE for details.
52
+ Copyright (c) 2013 Andrew Nesbitt. See LICENSE for details.
@@ -2,15 +2,10 @@ require 'split'
2
2
  require 'csv'
3
3
  require 'bigdecimal'
4
4
 
5
- if CSV.const_defined? :Reader
6
- require 'fastercsv'
7
- CSV = FasterCSV
8
- end
9
-
10
5
  module Split
11
6
  module Export
12
7
  extend self
13
-
8
+
14
9
  def round(number, precision = 2)
15
10
  BigDecimal.new(number.to_s).round(precision).to_f
16
11
  end
@@ -18,7 +13,7 @@ module Split
18
13
  def to_csv
19
14
  csv = CSV.generate do |csv|
20
15
  csv << ['Experiment', 'Alternative', 'Participants', 'Completed', 'Conversion Rate', 'Z score', 'Control', 'Winner']
21
- Split::Experiment.all.each do |experiment|
16
+ Split::ExperimentCatalog.all.each do |experiment|
22
17
  experiment.alternatives.each do |alternative|
23
18
  csv << [experiment.name,
24
19
  alternative.name,
@@ -33,4 +28,4 @@ module Split
33
28
  end
34
29
  end
35
30
  end
36
- end
31
+ end
@@ -1,5 +1,5 @@
1
1
  module Split
2
2
  module Export
3
- VERSION = "0.3.0"
3
+ VERSION = "1.0.0"
4
4
  end
5
5
  end
@@ -2,18 +2,18 @@ require 'spec_helper'
2
2
 
3
3
  describe Split::Export do
4
4
  before :each do
5
- experiment = Split::Experiment.find_or_create('link_color', 'blue', 'red', 'green')
6
- blue = Split::Alternative.find('blue', 'link_color')
5
+ experiment = Split::ExperimentCatalog.find_or_create('link_color', 'blue', 'red', 'green')
6
+ blue = Split::Alternative.new('blue', 'link_color')
7
7
  blue.participant_count = 5
8
- blue.completed_count = 3
8
+ blue.set_completed_count(3)
9
9
  blue.save
10
- red = Split::Alternative.find('red', 'link_color')
10
+ red = Split::Alternative.new('red', 'link_color')
11
11
  red.participant_count = 6
12
- red.completed_count = 4
12
+ red.set_completed_count(4)
13
13
  red.save
14
14
  end
15
15
 
16
16
  it "should generate a csv of split data" do
17
- Split::Export.to_csv.should eql("Experiment,Alternative,Participants,Completed,Conversion Rate,Z score,Control,Winner\nlink_color,blue,5,3,0.6,0.0,true,false\nlink_color,red,6,4,0.667,0.215,false,false\n")
17
+ Split::Export.to_csv.should eql("Experiment,Alternative,Participants,Completed,Conversion Rate,Z score,Control,Winner\nlink_color,blue,5,3,0.6,0.0,true,false\nlink_color,red,6,4,0.667,0.0,false,false\nlink_color,green,0,0,0.0,0.0,false,false\n")
18
18
  end
19
- end
19
+ end
@@ -1,4 +1,12 @@
1
1
  require 'rubygems'
2
2
  require 'bundler/setup'
3
3
  require 'split'
4
- require 'split/export'
4
+ require 'split/export'
5
+
6
+ RSpec.configure do |config|
7
+ config.order = 'random'
8
+ config.before(:each) do
9
+ Split.configuration = Split::Configuration.new
10
+ Split.redis.flushall
11
+ end
12
+ end
@@ -7,17 +7,20 @@ Gem::Specification.new do |s|
7
7
  s.version = Split::Export::VERSION
8
8
  s.authors = ["Andrew Nesbitt"]
9
9
  s.email = ["andrewnez@gmail.com"]
10
- s.homepage = "https://github.com/andrew/split-export"
11
- s.summary = %q{Split extension to export your data}
10
+ s.homepage = "https://github.com/splitrb/split-export"
11
+ s.summary = "Split extension to export your data"
12
+ s.license = 'MIT'
13
+
14
+ s.required_ruby_version = '>= 1.9.2'
12
15
 
13
16
  s.files = `git ls-files`.split("\n")
14
17
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
15
18
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
16
19
  s.require_paths = ["lib"]
17
20
 
18
- s.add_dependency(%q<split>, ["~> 0.3"])
19
- s.add_dependency(%q<fastercsv>, ['>= 1.2.0'])
21
+ s.add_dependency "split", "~> 1.4.0"
20
22
 
21
23
  # Development Dependencies
22
- s.add_development_dependency(%q<rspec>, ["~> 2.6"])
24
+ s.add_development_dependency "rspec", "~> 2.6"
25
+ s.add_development_dependency "rake", "~> 11.1"
23
26
  end
metadata CHANGED
@@ -1,80 +1,66 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: split-export
3
- version: !ruby/object:Gem::Version
4
- hash: 19
5
- prerelease: false
6
- segments:
7
- - 0
8
- - 3
9
- - 0
10
- version: 0.3.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - Andrew Nesbitt
14
8
  autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
-
18
- date: 2011-12-13 00:00:00 +00:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
11
+ date: 2016-04-02 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
22
14
  name: split
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ~>
28
- - !ruby/object:Gem::Version
29
- hash: 13
30
- segments:
31
- - 0
32
- - 3
33
- version: "0.3"
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 1.4.0
34
20
  type: :runtime
35
- version_requirements: *id001
36
- - !ruby/object:Gem::Dependency
37
- name: fastercsv
38
21
  prerelease: false
39
- requirement: &id002 !ruby/object:Gem::Requirement
40
- none: false
41
- requirements:
42
- - - ">="
43
- - !ruby/object:Gem::Version
44
- hash: 31
45
- segments:
46
- - 1
47
- - 2
48
- - 0
49
- version: 1.2.0
50
- type: :runtime
51
- version_requirements: *id002
52
- - !ruby/object:Gem::Dependency
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 1.4.0
27
+ - !ruby/object:Gem::Dependency
53
28
  name: rspec
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.6'
34
+ type: :development
54
35
  prerelease: false
55
- requirement: &id003 !ruby/object:Gem::Requirement
56
- none: false
57
- requirements:
58
- - - ~>
59
- - !ruby/object:Gem::Version
60
- hash: 15
61
- segments:
62
- - 2
63
- - 6
64
- version: "2.6"
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.6'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '11.1'
65
48
  type: :development
66
- version_requirements: *id003
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '11.1'
67
55
  description:
68
- email:
56
+ email:
69
57
  - andrewnez@gmail.com
70
58
  executables: []
71
-
72
59
  extensions: []
73
-
74
60
  extra_rdoc_files: []
75
-
76
- files:
77
- - .gitignore
61
+ files:
62
+ - ".gitignore"
63
+ - CODE_OF_CONDUCT.md
78
64
  - Gemfile
79
65
  - LICENSE
80
66
  - Rakefile
@@ -84,40 +70,30 @@ files:
84
70
  - spec/export_spec.rb
85
71
  - spec/spec_helper.rb
86
72
  - split-export.gemspec
87
- has_rdoc: true
88
- homepage: https://github.com/andrew/split-export
89
- licenses: []
90
-
73
+ homepage: https://github.com/splitrb/split-export
74
+ licenses:
75
+ - MIT
76
+ metadata: {}
91
77
  post_install_message:
92
78
  rdoc_options: []
93
-
94
- require_paths:
79
+ require_paths:
95
80
  - lib
96
- required_ruby_version: !ruby/object:Gem::Requirement
97
- none: false
98
- requirements:
81
+ required_ruby_version: !ruby/object:Gem::Requirement
82
+ requirements:
99
83
  - - ">="
100
- - !ruby/object:Gem::Version
101
- hash: 3
102
- segments:
103
- - 0
104
- version: "0"
105
- required_rubygems_version: !ruby/object:Gem::Requirement
106
- none: false
107
- requirements:
84
+ - !ruby/object:Gem::Version
85
+ version: 1.9.2
86
+ required_rubygems_version: !ruby/object:Gem::Requirement
87
+ requirements:
108
88
  - - ">="
109
- - !ruby/object:Gem::Version
110
- hash: 3
111
- segments:
112
- - 0
113
- version: "0"
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
114
91
  requirements: []
115
-
116
92
  rubyforge_project:
117
- rubygems_version: 1.3.7
93
+ rubygems_version: 2.5.1
118
94
  signing_key:
119
- specification_version: 3
95
+ specification_version: 4
120
96
  summary: Split extension to export your data
121
- test_files:
97
+ test_files:
122
98
  - spec/export_spec.rb
123
99
  - spec/spec_helper.rb