slimkeyfy 0.0.1

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.
Files changed (94) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +34 -0
  3. data/.rspec +3 -0
  4. data/Gemfile +6 -0
  5. data/Gemfile.lock +22 -0
  6. data/LICENSE +21 -0
  7. data/README.md +172 -0
  8. data/bin/slimkeyfy +5 -0
  9. data/lib/.DS_Store +0 -0
  10. data/lib/slimkeyfy/console/command_line.rb +90 -0
  11. data/lib/slimkeyfy/console/io_action.rb +30 -0
  12. data/lib/slimkeyfy/console/printer.rb +50 -0
  13. data/lib/slimkeyfy/console/translate.rb +101 -0
  14. data/lib/slimkeyfy/console.rb +8 -0
  15. data/lib/slimkeyfy/slimutils/file_utils.rb +61 -0
  16. data/lib/slimkeyfy/slimutils/hash_merging.rb +84 -0
  17. data/lib/slimkeyfy/slimutils/key_generator.rb +70 -0
  18. data/lib/slimkeyfy/slimutils/yaml_processor.rb +56 -0
  19. data/lib/slimkeyfy/slimutils.rb +8 -0
  20. data/lib/slimkeyfy/transformer/base_transformer.rb +42 -0
  21. data/lib/slimkeyfy/transformer/controller_transformer.rb +20 -0
  22. data/lib/slimkeyfy/transformer/slim_transformer.rb +92 -0
  23. data/lib/slimkeyfy/transformer/whitespacer.rb +48 -0
  24. data/lib/slimkeyfy/transformer/word.rb +49 -0
  25. data/lib/slimkeyfy/transformer.rb +9 -0
  26. data/lib/slimkeyfy/version.rb +3 -0
  27. data/lib/slimkeyfy.rb +12 -0
  28. data/slimkeyfy.gemspec +21 -0
  29. data/vendor/bundle/bin/htmldiff +25 -0
  30. data/vendor/bundle/bin/ldiff +25 -0
  31. data/vendor/bundle/bin/rspec +23 -0
  32. data/vendor/bundle/build_info/diff-lcs-1.2.5.info +1 -0
  33. data/vendor/bundle/build_info/rspec-3.0.0.info +1 -0
  34. data/vendor/bundle/build_info/rspec-core-3.0.2.info +1 -0
  35. data/vendor/bundle/build_info/rspec-expectations-3.0.2.info +1 -0
  36. data/vendor/bundle/build_info/rspec-mocks-3.0.2.info +1 -0
  37. data/vendor/bundle/build_info/rspec-support-3.0.2.info +1 -0
  38. data/vendor/bundle/gems/diff-lcs-1.2.5/.autotest +3 -0
  39. data/vendor/bundle/gems/diff-lcs-1.2.5/.gemtest +0 -0
  40. data/vendor/bundle/gems/diff-lcs-1.2.5/.hoerc +2 -0
  41. data/vendor/bundle/gems/diff-lcs-1.2.5/.rspec +2 -0
  42. data/vendor/bundle/gems/diff-lcs-1.2.5/.travis.yml +22 -0
  43. data/vendor/bundle/gems/diff-lcs-1.2.5/Contributing.rdoc +64 -0
  44. data/vendor/bundle/gems/diff-lcs-1.2.5/Gemfile +20 -0
  45. data/vendor/bundle/gems/diff-lcs-1.2.5/History.rdoc +152 -0
  46. data/vendor/bundle/gems/diff-lcs-1.2.5/License.rdoc +39 -0
  47. data/vendor/bundle/gems/diff-lcs-1.2.5/Manifest.txt +38 -0
  48. data/vendor/bundle/gems/diff-lcs-1.2.5/README.rdoc +85 -0
  49. data/vendor/bundle/gems/diff-lcs-1.2.5/Rakefile +41 -0
  50. data/vendor/bundle/gems/diff-lcs-1.2.5/autotest/discover.rb +1 -0
  51. data/vendor/bundle/gems/diff-lcs-1.2.5/bin/htmldiff +32 -0
  52. data/vendor/bundle/gems/diff-lcs-1.2.5/bin/ldiff +6 -0
  53. data/vendor/bundle/gems/diff-lcs-1.2.5/docs/COPYING.txt +339 -0
  54. data/vendor/bundle/gems/diff-lcs-1.2.5/docs/artistic.txt +127 -0
  55. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/array.rb +7 -0
  56. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/block.rb +37 -0
  57. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/callbacks.rb +322 -0
  58. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/change.rb +177 -0
  59. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/htmldiff.rb +149 -0
  60. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/hunk.rb +276 -0
  61. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/internals.rb +301 -0
  62. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/ldiff.rb +195 -0
  63. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/string.rb +5 -0
  64. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs.rb +805 -0
  65. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff-lcs.rb +3 -0
  66. data/vendor/bundle/gems/rspec-3.0.0/License.txt +24 -0
  67. data/vendor/bundle/gems/rspec-3.0.0/README.md +47 -0
  68. data/vendor/bundle/gems/rspec-3.0.0/lib/rspec.rb +3 -0
  69. data/vendor/bundle/gems/rspec-core-3.0.2/.document +5 -0
  70. data/vendor/bundle/gems/rspec-core-3.0.2/.yardopts +7 -0
  71. data/vendor/bundle/gems/rspec-core-3.0.2/Changelog.md +1466 -0
  72. data/vendor/bundle/gems/rspec-core-3.0.2/License.txt +25 -0
  73. data/vendor/bundle/gems/rspec-core-3.0.2/README.md +243 -0
  74. data/vendor/bundle/gems/rspec-core-3.0.2/exe/rspec +4 -0
  75. data/vendor/bundle/gems/rspec-expectations-3.0.2/.document +5 -0
  76. data/vendor/bundle/gems/rspec-expectations-3.0.2/.yardopts +6 -0
  77. data/vendor/bundle/gems/rspec-expectations-3.0.2/Changelog.md +749 -0
  78. data/vendor/bundle/gems/rspec-expectations-3.0.2/License.txt +24 -0
  79. data/vendor/bundle/gems/rspec-expectations-3.0.2/README.md +278 -0
  80. data/vendor/bundle/gems/rspec-mocks-3.0.2/.document +5 -0
  81. data/vendor/bundle/gems/rspec-mocks-3.0.2/.yardopts +6 -0
  82. data/vendor/bundle/gems/rspec-mocks-3.0.2/Changelog.md +733 -0
  83. data/vendor/bundle/gems/rspec-mocks-3.0.2/License.txt +24 -0
  84. data/vendor/bundle/gems/rspec-mocks-3.0.2/README.md +380 -0
  85. data/vendor/bundle/gems/rspec-support-3.0.2/Changelog.md +30 -0
  86. data/vendor/bundle/gems/rspec-support-3.0.2/LICENSE.txt +22 -0
  87. data/vendor/bundle/gems/rspec-support-3.0.2/README.md +17 -0
  88. data/vendor/bundle/specifications/diff-lcs-1.2.5.gemspec +68 -0
  89. data/vendor/bundle/specifications/rspec-3.0.0.gemspec +43 -0
  90. data/vendor/bundle/specifications/rspec-core-3.0.2.gemspec +66 -0
  91. data/vendor/bundle/specifications/rspec-expectations-3.0.2.gemspec +51 -0
  92. data/vendor/bundle/specifications/rspec-mocks-3.0.2.gemspec +48 -0
  93. data/vendor/bundle/specifications/rspec-support-3.0.2.gemspec +42 -0
  94. metadata +153 -0
@@ -0,0 +1,195 @@
1
+ # -*- ruby encoding: utf-8 -*-
2
+
3
+ require 'optparse'
4
+ require 'ostruct'
5
+ require 'diff/lcs/hunk'
6
+
7
+ # == ldiff Usage
8
+ # ldiff [options] oldfile newfile
9
+ #
10
+ # -c:: Displays a context diff with 3 lines of context.
11
+ # -C [LINES], --context [LINES]:: Displays a context diff with LINES lines of context. Default 3 lines.
12
+ # -u:: Displays a unified diff with 3 lines of context.
13
+ # -U [LINES], --unified [LINES]:: Displays a unified diff with LINES lines of context. Default 3 lines.
14
+ # -e:: Creates an 'ed' script to change oldfile to newfile.
15
+ # -f:: Creates an 'ed' script to change oldfile to newfile in reverse order.
16
+ # -a, --text:: Treats the files as text and compares them line-by-line, even if they do not seem to be text.
17
+ # --binary:: Treats the files as binary.
18
+ # -q, --brief:: Reports only whether or not the files differ, not the details.
19
+ # --help:: Shows the command-line help.
20
+ # --version:: Shows the version of Diff::LCS.
21
+ #
22
+ # By default, runs produces an "old-style" diff, with output like UNIX diff.
23
+ #
24
+ # == Copyright
25
+ # Copyright © 2004 Austin Ziegler
26
+ #
27
+ # Part of Diff::LCS <http://rubyforge.org/projects/ruwiki/>
28
+ # Austin Ziegler <diff-lcs@halostatue.ca>
29
+ #
30
+ # This program is free software. It may be redistributed and/or modified under
31
+ # the terms of the GPL version 2 (or later), the Perl Artistic licence, or the
32
+ # Ruby licence.
33
+ module Diff::LCS::Ldiff
34
+ BANNER = <<-COPYRIGHT
35
+ ldiff #{Diff::LCS::VERSION}
36
+ Copyright 2004-2013 Austin Ziegler
37
+
38
+ Part of Diff::LCS.
39
+ http://rubyforge.org/projects/ruwiki/
40
+
41
+ Austin Ziegler <diff-lcs@halostatue.ca>
42
+
43
+ This program is free software. It may be redistributed and/or modified under
44
+ the terms of the GPL version 2 (or later), the Perl Artistic licence, or the
45
+ MIT licence.
46
+ COPYRIGHT
47
+ end
48
+
49
+ class << Diff::LCS::Ldiff
50
+ attr_reader :format, :lines #:nodoc:
51
+ attr_reader :file_old, :file_new #:nodoc:
52
+ attr_reader :data_old, :data_new #:nodoc:
53
+
54
+ def run(args, input = $stdin, output = $stdout, error = $stderr) #:nodoc:
55
+ @binary = nil
56
+
57
+ args.options do |o|
58
+ o.banner = "Usage: #{File.basename($0)} [options] oldfile newfile"
59
+ o.separator ""
60
+ o.on('-c', '-C', '--context [LINES]', Numeric, 'Displays a context diff with LINES lines', 'of context. Default 3 lines.') do |ctx|
61
+ @format = :context
62
+ @lines = ctx || 3
63
+ end
64
+ o.on('-u', '-U', '--unified [LINES]', Numeric, 'Displays a unified diff with LINES lines', 'of context. Default 3 lines.') do |ctx|
65
+ @format = :unified
66
+ @lines = ctx || 3
67
+ end
68
+ o.on('-e', 'Creates an \'ed\' script to change', 'oldfile to newfile.') do |ctx|
69
+ @format = :ed
70
+ end
71
+ o.on('-f', 'Creates an \'ed\' script to change', 'oldfile to newfile in reverse order.') do |ctx|
72
+ @format = :reverse_ed
73
+ end
74
+ o.on('-a', '--text', 'Treat the files as text and compare them', 'line-by-line, even if they do not seem', 'to be text.') do |txt|
75
+ @binary = false
76
+ end
77
+ o.on('--binary', 'Treats the files as binary.') do |bin|
78
+ @binary = true
79
+ end
80
+ o.on('-q', '--brief', 'Report only whether or not the files', 'differ, not the details.') do |ctx|
81
+ @format = :report
82
+ end
83
+ o.on_tail('--help', 'Shows this text.') do
84
+ error << o
85
+ return 0
86
+ end
87
+ o.on_tail('--version', 'Shows the version of Diff::LCS.') do
88
+ error << BANNER
89
+ return 0
90
+ end
91
+ o.on_tail ""
92
+ o.on_tail 'By default, runs produces an "old-style" diff, with output like UNIX diff.'
93
+ o.parse!
94
+ end
95
+
96
+ unless args.size == 2
97
+ error << args.options
98
+ return 127
99
+ end
100
+
101
+ # Defaults are for old-style diff
102
+ @format ||= :old
103
+ @lines ||= 0
104
+
105
+ file_old, file_new = *ARGV
106
+
107
+ case @format
108
+ when :context
109
+ char_old = '*' * 3
110
+ char_new = '-' * 3
111
+ when :unified
112
+ char_old = '-' * 3
113
+ char_new = '+' * 3
114
+ end
115
+
116
+ # After we've read up to a certain point in each file, the number of
117
+ # items we've read from each file will differ by FLD (could be 0).
118
+ file_length_difference = 0
119
+
120
+ if @binary.nil? or @binary
121
+ data_old = IO::read(file_old)
122
+ data_new = IO::read(file_new)
123
+
124
+ # Test binary status
125
+ if @binary.nil?
126
+ old_txt = data_old[0...4096].scan(/\0/).empty?
127
+ new_txt = data_new[0...4096].scan(/\0/).empty?
128
+ @binary = (not old_txt) or (not new_txt)
129
+ old_txt = new_txt = nil
130
+ end
131
+
132
+ unless @binary
133
+ data_old = data_old.split($/).map { |e| e.chomp }
134
+ data_new = data_new.split($/).map { |e| e.chomp }
135
+ end
136
+ else
137
+ data_old = IO::readlines(file_old).map { |e| e.chomp }
138
+ data_new = IO::readlines(file_new).map { |e| e.chomp }
139
+ end
140
+
141
+ # diff yields lots of pieces, each of which is basically a Block object
142
+ if @binary
143
+ diffs = (data_old == data_new)
144
+ else
145
+ diffs = Diff::LCS.diff(data_old, data_new)
146
+ diffs = nil if diffs.empty?
147
+ end
148
+
149
+ return 0 unless diffs
150
+
151
+ if @format == :report
152
+ output << "Files #{file_old} and #{file_new} differ\n"
153
+ return 1
154
+ end
155
+
156
+ if (@format == :unified) or (@format == :context)
157
+ ft = File.stat(file_old).mtime.localtime.strftime('%Y-%m-%d %H:%M:%S.%N %z')
158
+ puts "#{char_old} #{file_old}\t#{ft}"
159
+ ft = File.stat(file_new).mtime.localtime.strftime('%Y-%m-%d %H:%M:%S.%N %z')
160
+ puts "#{char_new} #{file_new}\t#{ft}"
161
+ end
162
+
163
+ # Loop over hunks. If a hunk overlaps with the last hunk, join them.
164
+ # Otherwise, print out the old one.
165
+ oldhunk = hunk = nil
166
+
167
+ if @format == :ed
168
+ real_output = output
169
+ output = []
170
+ end
171
+
172
+ diffs.each do |piece|
173
+ begin
174
+ hunk = Diff::LCS::Hunk.new(data_old, data_new, piece, @lines,
175
+ file_length_difference)
176
+ file_length_difference = hunk.file_length_difference
177
+
178
+ next unless oldhunk
179
+ next if (@lines > 0) and hunk.merge(oldhunk)
180
+
181
+ output << oldhunk.diff(@format) << "\n"
182
+ ensure
183
+ oldhunk = hunk
184
+ end
185
+ end
186
+
187
+ output << oldhunk.diff(@format) << "\n"
188
+
189
+ if @format == :ed
190
+ output.reverse_each { |e| real_output << e.diff(:ed_finish) }
191
+ end
192
+
193
+ return 1
194
+ end
195
+ end
@@ -0,0 +1,5 @@
1
+ # -*- ruby encoding: utf-8 -*-
2
+
3
+ class String
4
+ include Diff::LCS
5
+ end