agile_utils 0.1.2 → 0.1.3

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: c144b001bf9c9544bcae669d12f2fdbaf7da43d6
4
- data.tar.gz: 95f42c351ccda135f8ee51c2b8c3f7ea118a22db
3
+ metadata.gz: f859098d2725f7d1a7e5266f444962509b4628cf
4
+ data.tar.gz: 60b292342f8eab2409285a9c27d5bfbb7c7be1c4
5
5
  SHA512:
6
- metadata.gz: 78a6d98c3941bfe41c1081486e0a3706e95b5295ff79960535f85008e7723e3f19c66a7c2a6537f306633c457d0b0933db2e14368869f1ef85f727f3b21cb83e
7
- data.tar.gz: 4eed7fb17a589e4e6ed412a50bb448b44ef819425f1167ae70a6fcfc139ac1d3b174ea89f7e74a2e245f900484ddd04c7a1c6bbe25f37173dddbb37be8d8a053
6
+ metadata.gz: d309c40b193b8b47a57bcd6867215f21ce3b31855269dbf7f807b0c34bb3d6144435f862fd5dac6b366717f4ee3382bd2f6464c7fd311babf8263e438b70c0eb
7
+ data.tar.gz: 4e1b069c620904bac94df517aa89ae54fa4c46c5e43826b32c176b8c33201dde57556b984b60a52ab6aef8b1bedd85b265fec32682c850f262827681a3007aea
data/.rubocop.yml CHANGED
@@ -51,7 +51,7 @@ HashSyntax:
51
51
 
52
52
  # No spaces inside hash literals
53
53
  SpaceInsideHashLiteralBraces:
54
- EnforcedStyle: no_space
54
+ EnforcedStyle: space
55
55
 
56
56
  # Allow dots at the end of lines
57
57
  DotPosition:
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ #### 0.1.3
2
+
3
+ - Improve the code detection for OS type
4
+ - Remove unused method
5
+ - Update style for rubocop
6
+
1
7
  #### 0.1.2
2
8
 
3
9
  - Style cleanup with rubocop
data/README.md CHANGED
@@ -39,8 +39,8 @@ include AgileUtils
39
39
 
40
40
  # Then call the right method to use.
41
41
  AgileUtils::Helper.capture
42
- AgileUtils::Helper.is_linux?
43
- AgileUtils::Helper.is_osx?
42
+ AgileUtils::Helper.linux?
43
+ AgileUtils::Helper.osx?
44
44
  AgileUtils::Helper.make_list
45
45
  AgileUtils::Helper.shell
46
46
  AgileUtils::Helper.time
data/bin/agile_utils CHANGED
@@ -1,7 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  # Add the code for binary if we need one
3
3
  require_relative "../lib/agile_utils"
4
- puts "Welcome to #{AgileUtils::PROJECT_NAME} version #{AgileUtils::VERSION}"
5
4
  include AgileUtils
6
5
  if ARGV.empty?
7
6
  AgileUtils::CLI.start(%w[usage])
data/lib/agile_utils.rb CHANGED
@@ -1,6 +1,5 @@
1
1
  require_relative "./agile_utils/core_ext/hash/hash"
2
2
  require_relative "./agile_utils/core_ext/kernel/reporting"
3
- require_relative "./agile_utils/constant"
4
3
  require_relative "./agile_utils/version"
5
4
  require_relative "./agile_utils/logger"
6
5
  require_relative "./agile_utils/cli"
@@ -2,66 +2,68 @@ module AgileUtils
2
2
  module Options
3
3
  BASE_DIR = [
4
4
  :base_dir,
5
- {type: :string,
6
- aliases: "-b",
7
- desc: "Base directory",
8
- default: Dir.pwd}
5
+ { type: :string,
6
+ aliases: "-b",
7
+ desc: "Base directory",
8
+ default: Dir.pwd
9
+ }
9
10
  ]
10
11
 
11
12
  EXTS = [
12
13
  :exts,
13
- {type: :array,
14
- aliases: "-e",
15
- desc: "List of extensions to search for",
16
- default: []}
14
+ { type: :array,
15
+ aliases: "-e",
16
+ desc: "List of extensions to search for",
17
+ default: []
18
+ }
17
19
  ]
18
20
 
19
21
  NON_EXTS = [
20
22
  :non_exts,
21
- {type: :array,
22
- aliases: "-f",
23
- desc: "List of files without extension to search for",
24
- default: []}
23
+ { type: :array,
24
+ aliases: "-f",
25
+ desc: "List of files without extension to search for",
26
+ default: [] }
25
27
  ]
26
28
 
27
29
  INC_WORDS = [
28
30
  :inc_words,
29
- {type: :array,
30
- aliases: "-n",
31
- desc: "List of words to be included in the result if any",
32
- default: []}
31
+ { type: :array,
32
+ aliases: "-n",
33
+ desc: "List of words in the filename to be included with the result if any",
34
+ default: [] }
33
35
  ]
34
36
 
35
37
  EXC_WORDS = [
36
38
  :exc_words,
37
- {type: :array,
38
- aliases: "-x",
39
- desc: "List of words to be excluded from the result if any",
40
- default: []}
39
+ { type: :array,
40
+ aliases: "-x",
41
+ desc: "List of words in the filename to be excluded from the result if any",
42
+ default: [] }
41
43
  ]
42
44
 
43
45
  IGNORE_CASE = [
44
46
  :ignore_case,
45
- {type: :boolean,
46
- aliases: "-i",
47
- desc: "Match case insensitively",
48
- default: true}
47
+ { type: :boolean,
48
+ aliases: "-i",
49
+ desc: "Ignore the case in the input filename",
50
+ default: true }
49
51
  ]
50
52
 
51
53
  RECURSIVE = [
52
54
  :recursive,
53
- {type: :boolean,
54
- aliases: "-r",
55
- desc: "Search for files recursively",
56
- default: true}
55
+ { type: :boolean,
56
+ aliases: "-r",
57
+ desc: "Search for files recursively",
58
+ default: true }
57
59
  ]
58
60
 
59
61
  VERSION = [
60
62
  :version,
61
- {type: :boolean,
62
- aliases: "-v",
63
- desc: "Display version information",
64
- default: false}
63
+ { type: :boolean,
64
+ aliases: "-v",
65
+ desc: "Display version information",
66
+ default: false }
65
67
  ]
66
68
  end
67
69
  end
@@ -6,7 +6,7 @@ module AgileUtils
6
6
  def main
7
7
  opts = options.symbolize_keys
8
8
  if opts[:version]
9
- puts "You are using #{AgileUtils::PROJECT_NAME} version #{AgileUtils::VERSION}"
9
+ puts "You are using AgileUtils version #{AgileUtils::VERSION}"
10
10
  exit
11
11
  end
12
12
  end
@@ -19,14 +19,12 @@ include AgileUtils
19
19
 
20
20
  # General methods
21
21
  AgileUtils::Helper.capture
22
- AgileUtils::Helper.is_linux?
23
- AgileUtils::Helper.is_osx?
24
22
  AgileUtils::Helper.make_list
25
23
  AgileUtils::Helper.shell
24
+ AgileUtils::Helper.linux?
25
+ AgileUtils::Helper.osx?
26
26
  AgileUtils::Helper.time
27
27
  AgileUtils::Helper.uname
28
-
29
- # File and related methods
30
28
  AgileUtils::FileUtil.find()
31
29
  AgileUtils::FileUtils.delete()
32
30
  AgileUtils::FileUtils.gunzip()
@@ -15,6 +15,7 @@ module AgileUtils
15
15
  # @param [String] extension the file extension to search for
16
16
  #
17
17
  # @return [Array<String>] list of matching files or empty list
18
+ # rubocop:disable CollectionMethods
18
19
  def find(base_dir, extension = "xhtml")
19
20
  file_paths = []
20
21
  Find.find(base_dir) do |path|
@@ -22,6 +23,7 @@ module AgileUtils
22
23
  end
23
24
  file_paths
24
25
  end
26
+ # rubocop:enable All
25
27
 
26
28
  # Tar and gzip list of files
27
29
  #
@@ -35,7 +37,6 @@ module AgileUtils
35
37
  Archive::Tar::Minitar.pack_file(file, tar)
36
38
  end
37
39
  ensure
38
- # Closes both tar and sgz.
39
40
  tar.close unless tar.nil?
40
41
  tar = nil
41
42
  end
@@ -53,23 +54,12 @@ module AgileUtils
53
54
  # Delete the files from the given list
54
55
  #
55
56
  # @param files list of files to be deleted
56
- # @todo add ! to flag it as destructive!
57
57
  def delete(files)
58
58
  files.each do |file|
59
59
  FileUtils.rm_rf(file)
60
60
  end
61
61
  end
62
62
 
63
- # Add suffix to each extensions
64
- #
65
- # @param [Array<String>] extensions list of extension
66
- # @param [String] suffix the suffix string
67
- #
68
- # @return [Array<String>] new list with the suffix added to each element
69
- def add_suffix(extensions = [], suffix)
70
- extensions.map { |e| "#{e}.#{suffix}" }
71
- end
72
-
73
63
  # Time the operation before and after the operation for tuning purpose
74
64
  def time
75
65
  beg_time = Time.now
@@ -5,8 +5,9 @@ module AgileUtils
5
5
  class << self
6
6
  # Wrapper function to call the 'popen3' and return the result
7
7
  #
8
- # @param [Array<String>] commands list of command
8
+ # @param [Array<String>] commands list of command and arguments to be executed
9
9
  # @return [String] result of the command as the string
10
+ # @raise [RuntimeError] an exception to raise when the command result in error
10
11
  def shell(commands = [])
11
12
  begin
12
13
  command = commands.join(" ")
@@ -17,47 +18,19 @@ module AgileUtils
17
18
  stdin
18
19
  end
19
20
 
20
- def is_osx?
21
- uname && uname.strip.downcase == "darwin"
21
+ def osx?
22
+ RbConfig::CONFIG["host_os"] =~ /darwin/
22
23
  end
23
24
 
24
- def is_linux?
25
- uname && uname.strip.downcase == "linux"
25
+ def linux?
26
+ RbConfig::CONFIG["host_os"] =~ /linux/
26
27
  end
27
28
 
29
+ # Wrap the call to `uname` command
28
30
  def uname
29
31
  shell(%w[uname])
30
32
  end
31
33
 
32
- # Extract "key1: value1\nkey2: value 2" to
33
- # hash of { "key1" => "value1", "key2" => "value 2" }
34
- #
35
- # @param [String] input the input string from the unix command
36
- # @return [Hash<Symbol,String>] result hash extracted from the command
37
- # @todo re-implement the code and look for specific list of keys and quit
38
- # as fast as we get the specific list of keys
39
- def string_to_hash(input)
40
- hash = {}
41
- input.split('\n').each do |i|
42
- # TODO: code smell?
43
- item = i.split(":") if is_linux?
44
- item = i.split("=") if is_osx?
45
- next if item.empty? || item.size != 2
46
- hash[item[0].strip] = item[1].strip
47
- end
48
- hash
49
- end
50
-
51
- # Add suffix to each item in the list
52
- #
53
- # @param [Array<String>] list the input list
54
- # @param [String] suffix the suffix string
55
- # @return [Array<String.] list of input where each element is append with
56
- # suffix string
57
- def add_suffix(list = [], suffix)
58
- list.map { |e| "#{e}.#{suffix}" }
59
- end
60
-
61
34
  # For tuning the operation
62
35
  def time
63
36
  beg_time = Time.now
@@ -95,7 +68,7 @@ module AgileUtils
95
68
 
96
69
  # Cross-platform way of finding an executable in the $PATH.
97
70
  #
98
- # @param command [String] the command to look up
71
+ # @param [String] command the command to look up
99
72
  # @return [String, NilClass] full path to the executable file or nil if the
100
73
  # executable is not valid or available.
101
74
  # Example:
@@ -1,3 +1,3 @@
1
1
  module AgileUtils
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: agile_utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Burin Choomnuan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-18 00:00:00.000000000 Z
11
+ date: 2014-06-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor