essentials 0.0.3 → 0.0.4

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.
@@ -1,4 +1,7 @@
1
1
  require 'initializers/add_deep_value_to_hash'
2
+ require 'initializers/is_json'
3
+ require 'initializers/enumerable_changes'
4
+ require 'initializers/capture_git_revision'
2
5
 
3
6
  module Essentials
4
7
  class Engine < ::Rails::Engine
@@ -0,0 +1 @@
1
+ GIT_REVISION = File.exist?('REVISION') ? File.read('REVISION') : nil
@@ -0,0 +1,30 @@
1
+ module Enumerable
2
+ # Sorts all items in this enumerable first
3
+ # by non-digits and then by digits.
4
+ #
5
+ # If a block is given, it will be invoked
6
+ # to calculate the basis for comparison.
7
+ # Otherwise, the items themselves will be
8
+ # used as the basis for comparison.
9
+ #
10
+ def smart_sort # :yields: item
11
+ sort_by do |item|
12
+ basis =
13
+ if block_given?
14
+ yield item
15
+ else
16
+ item
17
+ end.to_s
18
+
19
+ alpha = basis[/\D+/].to_s
20
+ digit = basis[/\d+/].to_i
21
+
22
+ [alpha, digit]
23
+ end
24
+ end
25
+
26
+ def dups
27
+ tmp_dups = inject({}){|h,v| h[v]=h[v].to_i+1; h}.select{|k,v| v > 1}
28
+ tmp_dups.is_a?(Hash) ? tmp_dups.keys : tmp_dups
29
+ end
30
+ end
@@ -0,0 +1,11 @@
1
+ require 'json'
2
+
3
+ class String
4
+ def is_json?
5
+ begin
6
+ !!JSON.parse(self)
7
+ rescue
8
+ false
9
+ end
10
+ end
11
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: essentials
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -36,6 +36,9 @@ files:
36
36
  - app/assets/javascripts/essentials-global.js
37
37
  - lib/essentials.rb
38
38
  - lib/initializers/add_deep_value_to_hash.rb
39
+ - lib/initializers/capture_git_revision.rb
40
+ - lib/initializers/enumerable_changes.rb
41
+ - lib/initializers/is_json.rb
39
42
  homepage: http://rubygems.org/gems/essentials
40
43
  licenses:
41
44
  - MIT