fdist 1.1.1 → 1.1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a70833b84a20dd91f598ec4dbaf4d4ad4b519b16
4
- data.tar.gz: 55a50904dc563a33603bd39e671e24d6410e6428
3
+ metadata.gz: 2bbdd04df8a248c4de7c7ae38d6ab029472e6322
4
+ data.tar.gz: 16be6d9e74e6aa5bb3c8e14cdbd88489521b4533
5
5
  SHA512:
6
- metadata.gz: 8ee372f6bab4926b8c084530c8da01f9c67f59cc3580355cea3c907704dc48f46c38ed98438d1e78a280fa36a95b365ffab5d875350713d192acfcf613287413
7
- data.tar.gz: 93871fae77d3e502980dcee1d9ec36ecfb3696c899c1d44e4037e395acc8d696f9eb6812581ea8740a64c0afdb3c2aa3870750ec65d0159b7a002cd6e3ab728e
6
+ metadata.gz: 2d122e88f189db54e5107ae5f3dd4f23f1971a8b1d261af66f412dcb1bc6feeaadb5a4d2c4e46bc87628a8ceee7812dc43ddc0dcf9aa5c6f54a22774739b1963
7
+ data.tar.gz: 6b6887cd8da07cdcf96b477fd8a28f5cc20bfdd864d508ad3eaa3842faba07fd6e778f2aa0fd6da41a249e1f18df00aa9d755371b8739cd947b995e3b42a8316
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
- source "http://rubygems.org"
1
+ source "https://rubygems.org"
2
2
  # Add dependencies required to use your gem here.
3
3
  # Example:
4
4
  # gem "activesupport", ">= 2.3.5"
@@ -6,9 +6,9 @@ source "http://rubygems.org"
6
6
  # Add dependencies to develop your gem here.
7
7
  # Include everything needed to run rake, tests, features, etc.
8
8
  group :development do
9
- gem "shoulda", ">= 0"
9
+ gem "rspec", "~> 3.5.0"
10
10
  gem "rdoc", "~> 3.12"
11
11
  gem "bundler", "~> 1.0"
12
- gem "jeweler", "~> 2.0.1"
12
+ gem "jeweler", "~> 2.3.9"
13
13
  gem "simplecov", ">= 0"
14
14
  end
@@ -1,81 +1,85 @@
1
1
  GEM
2
- remote: http://rubygems.org/
2
+ remote: https://rubygems.org/
3
3
  specs:
4
- activesupport (4.1.0)
5
- i18n (~> 0.6, >= 0.6.9)
6
- json (~> 1.7, >= 1.7.7)
7
- minitest (~> 5.1)
8
- thread_safe (~> 0.1)
9
- tzinfo (~> 1.1)
10
- addressable (2.3.6)
11
- builder (3.2.2)
4
+ addressable (2.4.0)
5
+ builder (3.2.3)
12
6
  descendants_tracker (0.0.4)
13
7
  thread_safe (~> 0.3, >= 0.3.1)
14
- docile (1.1.3)
15
- faraday (0.9.0)
8
+ diff-lcs (1.3)
9
+ docile (1.3.0)
10
+ faraday (0.9.2)
16
11
  multipart-post (>= 1.2, < 3)
17
- git (1.2.6)
18
- github_api (0.11.3)
19
- addressable (~> 2.3)
20
- descendants_tracker (~> 0.0.1)
12
+ git (1.3.0)
13
+ github_api (0.16.0)
14
+ addressable (~> 2.4.0)
15
+ descendants_tracker (~> 0.0.4)
21
16
  faraday (~> 0.8, < 0.10)
22
- hashie (>= 1.2)
23
- multi_json (>= 1.7.5, < 2.0)
24
- nokogiri (~> 1.6.0)
25
- oauth2
26
- hashie (2.1.1)
27
- highline (1.6.21)
28
- i18n (0.6.9)
29
- jeweler (2.0.1)
17
+ hashie (>= 3.4)
18
+ mime-types (>= 1.16, < 3.0)
19
+ oauth2 (~> 1.0)
20
+ hashie (3.5.7)
21
+ highline (1.7.10)
22
+ jeweler (2.3.9)
30
23
  builder
31
- bundler (>= 1.0)
24
+ bundler
32
25
  git (>= 1.2.5)
33
- github_api
26
+ github_api (~> 0.16.0)
34
27
  highline (>= 1.6.15)
35
28
  nokogiri (>= 1.5.10)
29
+ psych
36
30
  rake
37
31
  rdoc
38
- json (1.8.1)
39
- jwt (0.1.11)
40
- multi_json (>= 1.5)
41
- mini_portile (0.5.3)
42
- minitest (5.3.3)
43
- multi_json (1.9.2)
44
- multi_xml (0.5.5)
32
+ semver2
33
+ json (1.8.6)
34
+ jwt (1.5.6)
35
+ mime-types (2.99.3)
36
+ mini_portile2 (2.3.0)
37
+ multi_json (1.13.1)
38
+ multi_xml (0.6.0)
45
39
  multipart-post (2.0.0)
46
- nokogiri (1.6.1)
47
- mini_portile (~> 0.5.0)
48
- oauth2 (0.9.3)
49
- faraday (>= 0.8, < 0.10)
50
- jwt (~> 0.1.8)
40
+ nokogiri (1.8.2)
41
+ mini_portile2 (~> 2.3.0)
42
+ oauth2 (1.4.0)
43
+ faraday (>= 0.8, < 0.13)
44
+ jwt (~> 1.0)
51
45
  multi_json (~> 1.3)
52
46
  multi_xml (~> 0.5)
53
- rack (~> 1.2)
54
- rack (1.5.2)
55
- rake (10.3.0)
47
+ rack (>= 1.2, < 3)
48
+ psych (3.0.2)
49
+ rack (2.0.4)
50
+ rake (12.3.0)
56
51
  rdoc (3.12.2)
57
52
  json (~> 1.4)
58
- shoulda (3.5.0)
59
- shoulda-context (~> 1.0, >= 1.0.1)
60
- shoulda-matchers (>= 1.4.1, < 3.0)
61
- shoulda-context (1.2.1)
62
- shoulda-matchers (2.6.0)
63
- activesupport (>= 3.0.0)
64
- simplecov (0.8.2)
65
- docile (~> 1.1.0)
66
- multi_json
67
- simplecov-html (~> 0.8.0)
68
- simplecov-html (0.8.0)
69
- thread_safe (0.3.3)
70
- tzinfo (1.1.0)
71
- thread_safe (~> 0.1)
53
+ rspec (3.5.0)
54
+ rspec-core (~> 3.5.0)
55
+ rspec-expectations (~> 3.5.0)
56
+ rspec-mocks (~> 3.5.0)
57
+ rspec-core (3.5.4)
58
+ rspec-support (~> 3.5.0)
59
+ rspec-expectations (3.5.0)
60
+ diff-lcs (>= 1.2.0, < 2.0)
61
+ rspec-support (~> 3.5.0)
62
+ rspec-mocks (3.5.0)
63
+ diff-lcs (>= 1.2.0, < 2.0)
64
+ rspec-support (~> 3.5.0)
65
+ rspec-support (3.5.0)
66
+ semver2 (3.4.2)
67
+ simplecov (0.16.1)
68
+ docile (~> 1.1)
69
+ json (>= 1.8, < 3)
70
+ simplecov-html (~> 0.10.0)
71
+ simplecov-html (0.10.2)
72
+ thread_safe (0.3.6)
72
73
 
73
74
  PLATFORMS
74
75
  ruby
75
76
 
76
77
  DEPENDENCIES
77
78
  bundler (~> 1.0)
78
- jeweler (~> 2.0.1)
79
+ jeweler (~> 2.3.9)
79
80
  rdoc (~> 3.12)
80
- shoulda
81
+ rspec (~> 3.5.0)
81
82
  simplecov
83
+
84
+ BUNDLED WITH
85
+ 1.16.1
@@ -1,4 +1,4 @@
1
- Copyright (c) 2013 michael d. towle
1
+ Copyright (c) 2018 M. Towle
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
@@ -14,6 +14,6 @@ Description goes here.
14
14
 
15
15
  == Copyright
16
16
 
17
- Copyright (c) 2013 michael d. towle. See LICENSE.txt for
17
+ Copyright (c) 2018 M. Towle. See LICENSE.txt for
18
18
  further details.
19
19
 
data/Rakefile CHANGED
@@ -13,39 +13,39 @@ require 'rake'
13
13
 
14
14
  require 'jeweler'
15
15
  Jeweler::Tasks.new do |gem|
16
+ # gem is a Gem::Specification... see http://guides.rubygems.org/specification-reference/ for more options
16
17
  gem.name = "fdist"
17
- gem.homepage = "http://github.com/gametheoretic/fdist"
18
+ gem.homepage = "http://github.com/towledev/fdist"
18
19
  gem.license = "MIT"
19
- gem.summary = %Q{Enumerable#fdist -- returns a freq. dist.}
20
- gem.description = %Q{Given a block, Enumerable#fdist returns a frequency distribution of the results in the form of a Hash (sans block, distribution of raw element frequencies aka counts). Though one most often avoids imbuing a Hash w/ order-meaning, in this case the return Hash's pairs come ordered by frequency (i.e., the value side of the key-value pair).}
21
- gem.email = "gametheoretic@gmail.com"
22
- gem.authors = ["michael d. towle"]
23
- gem.files.include "lib/**/*.rb"
20
+ gem.summary = %Q{Enumerable#fdist}
21
+ gem.description = %Q{Helper function for the Enumerable module which returns a frequency distribution.}
22
+ gem.email = "towledev@gmail.com"
23
+ gem.authors = ["M. Towle"]
24
+ # dependencies defined in Gemfile
25
+ gem.files.include "lib/fdist.rb"
24
26
  end
25
-
26
27
  Jeweler::RubygemsDotOrgTasks.new
27
28
 
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
29
+ require 'rspec/core'
30
+ require 'rspec/core/rake_task'
31
+ RSpec::Core::RakeTask.new(:spec) do |spec|
32
+ spec.pattern = FileList['spec/**/*_spec.rb']
33
33
  end
34
34
 
35
35
  desc "Code coverage detail"
36
36
  task :simplecov do
37
37
  ENV['COVERAGE'] = "true"
38
- Rake::Task['test'].execute
38
+ Rake::Task['spec'].execute
39
39
  end
40
40
 
41
- task :default => :test
41
+ task :default => :spec
42
42
 
43
43
  require 'rdoc/task'
44
44
  Rake::RDocTask.new do |rdoc|
45
45
  version = File.exist?('VERSION') ? File.read('VERSION') : ""
46
46
 
47
47
  rdoc.rdoc_dir = 'rdoc'
48
- rdoc.title = "temp #{version}"
48
+ rdoc.title = "fdist #{version}"
49
49
  rdoc.rdoc_files.include('README*')
50
50
  rdoc.rdoc_files.include('lib/**/*.rb')
51
51
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.1
1
+ 1.1.2
@@ -1,18 +1,16 @@
1
-
2
1
  module Enumerable
2
+ def fdist(&block)
3
+ inject({}) do |memo, element|
4
+ if block_given?
5
+ item = block.call(element)
6
+ else
7
+ item = element
8
+ end
3
9
 
4
- # such that #fdist allows the user to select a slice off results off the top/bottom/whatever of the frequency distribution hash without conversion to- and from-Array type.
5
-
6
-
7
- def fdist(valid_array_slice_arg=0..-1)
8
- self.group_by do |elem|
9
- block_given? ? yield(elem) : elem
10
- end.to_a.map do |result, results_array|
11
- [result, results_array.count]
12
- end.sort_by do |result, frequency|
13
- frequency
14
- end[valid_array_slice_arg].to_h
10
+ memo[item] ||= 0
11
+ memo[item] += 1
12
+ memo
13
+ end
14
+ .sort_by(&:last)
15
15
  end
16
- end
17
-
18
-
16
+ end
@@ -0,0 +1,5 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe 'Fdist' do
4
+
5
+ end
@@ -0,0 +1,29 @@
1
+ require 'simplecov'
2
+
3
+ module SimpleCov::Configuration
4
+ def clean_filters
5
+ @filters = []
6
+ end
7
+ end
8
+
9
+ SimpleCov.configure do
10
+ clean_filters
11
+ load_adapter 'test_frameworks'
12
+ end
13
+
14
+ ENV["COVERAGE"] && SimpleCov.start do
15
+ add_filter "/.rvm/"
16
+ end
17
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
18
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
19
+
20
+ require 'rspec'
21
+ require 'fdist'
22
+
23
+ # Requires supporting files with custom matchers and macros, etc,
24
+ # in ./support/ and its subdirectories.
25
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
26
+
27
+ RSpec.configure do |config|
28
+
29
+ end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fdist
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.1.2
5
5
  platform: ruby
6
6
  authors:
7
- - michael d. towle
7
+ - M. Towle
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-16 00:00:00.000000000 Z
11
+ date: 2018-03-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: shoulda
14
+ name: rspec
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 3.5.0
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: 3.5.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rdoc
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 2.0.1
61
+ version: 2.3.9
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 2.0.1
68
+ version: 2.3.9
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: simplecov
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -80,12 +80,8 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
- description: Given a block, Enumerable#fdist returns a frequency distribution of the
84
- results in the form of a Hash (sans block, distribution of raw element frequencies
85
- aka counts). Though one most often avoids imbuing a Hash w/ order-meaning, in this
86
- case the return Hash's pairs come ordered by frequency (i.e., the value side of
87
- the key-value pair).
88
- email: gametheoretic@gmail.com
83
+ description: Helper function for the Enumerable module which returns a frequency distribution.
84
+ email: towledev@gmail.com
89
85
  executables: []
90
86
  extensions: []
91
87
  extra_rdoc_files:
@@ -93,15 +89,17 @@ extra_rdoc_files:
93
89
  - README.rdoc
94
90
  files:
95
91
  - ".document"
92
+ - ".rspec"
96
93
  - Gemfile
97
94
  - Gemfile.lock
98
95
  - LICENSE.txt
99
96
  - README.rdoc
100
97
  - Rakefile
101
98
  - VERSION
102
- - fdist.gemspec
103
99
  - lib/fdist.rb
104
- homepage: http://github.com/gametheoretic/fdist
100
+ - spec/fdist_spec.rb
101
+ - spec/spec_helper.rb
102
+ homepage: http://github.com/towledev/fdist
105
103
  licenses:
106
104
  - MIT
107
105
  metadata: {}
@@ -121,8 +119,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
121
119
  version: '0'
122
120
  requirements: []
123
121
  rubyforge_project:
124
- rubygems_version: 2.2.2
122
+ rubygems_version: 2.6.14
125
123
  signing_key:
126
124
  specification_version: 4
127
- summary: Enumerable#fdist -- returns a freq. dist.
125
+ summary: Enumerable#fdist
128
126
  test_files: []
@@ -1,61 +0,0 @@
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: fdist 1.1.1 ruby lib
6
-
7
- Gem::Specification.new do |s|
8
- s.name = "fdist"
9
- s.version = "1.1.1"
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 = ["michael d. towle"]
14
- s.date = "2014-04-16"
15
- s.description = "Given a block, Enumerable#fdist returns a frequency distribution of the results in the form of a Hash (sans block, distribution of raw element frequencies aka counts). Though one most often avoids imbuing a Hash w/ order-meaning, in this case the return Hash's pairs come ordered by frequency (i.e., the value side of the key-value pair)."
16
- s.email = "gametheoretic@gmail.com"
17
- s.extra_rdoc_files = [
18
- "LICENSE.txt",
19
- "README.rdoc"
20
- ]
21
- s.files = [
22
- ".document",
23
- "Gemfile",
24
- "Gemfile.lock",
25
- "LICENSE.txt",
26
- "README.rdoc",
27
- "Rakefile",
28
- "VERSION",
29
- "fdist.gemspec",
30
- "lib/fdist.rb"
31
- ]
32
- s.homepage = "http://github.com/gametheoretic/fdist"
33
- s.licenses = ["MIT"]
34
- s.rubygems_version = "2.2.2"
35
- s.summary = "Enumerable#fdist -- returns a freq. dist."
36
-
37
- if s.respond_to? :specification_version then
38
- s.specification_version = 4
39
-
40
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
41
- s.add_development_dependency(%q<shoulda>, [">= 0"])
42
- s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
43
- s.add_development_dependency(%q<bundler>, ["~> 1.0"])
44
- s.add_development_dependency(%q<jeweler>, ["~> 2.0.1"])
45
- s.add_development_dependency(%q<simplecov>, [">= 0"])
46
- else
47
- s.add_dependency(%q<shoulda>, [">= 0"])
48
- s.add_dependency(%q<rdoc>, ["~> 3.12"])
49
- s.add_dependency(%q<bundler>, ["~> 1.0"])
50
- s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
51
- s.add_dependency(%q<simplecov>, [">= 0"])
52
- end
53
- else
54
- s.add_dependency(%q<shoulda>, [">= 0"])
55
- s.add_dependency(%q<rdoc>, ["~> 3.12"])
56
- s.add_dependency(%q<bundler>, ["~> 1.0"])
57
- s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
58
- s.add_dependency(%q<simplecov>, [">= 0"])
59
- end
60
- end
61
-