transcore 0.0.4 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: cb27def93ffbc709e212a15b048e5c8429ebdd95
4
+ data.tar.gz: c540837b47b9ba442a4f0adeda5a98c53a644432
5
+ SHA512:
6
+ metadata.gz: 044f4a1b8a3527827cf5cd076e5d36789dec54229bf1e7d47443abd07f85dd7186fe0b379e49517586fa4aef21ce879140223c57467d8c9e9b5fd66530898fb7
7
+ data.tar.gz: 557f8b9317f1439f3cc92d207d56329ba4f2c88a4e5d36eb9da5ad8aa7ce01df84ab6020095a87dd9c1ed83a89853cb55c2d24cbb8535ed1255214718196518e
@@ -0,0 +1,14 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ *.bundle
11
+ *.so
12
+ *.o
13
+ *.a
14
+ mkmf.log
@@ -0,0 +1,57 @@
1
+ AllCops:
2
+ RunRailsCops: true
3
+ Exclude:
4
+ - vendor/**/*
5
+ - db/schema.rb
6
+ - app/models/legacy/**
7
+ - db/migrate/2013*
8
+ - db/migrate/20140[1-8]*
9
+ - config/initializers/*patch*
10
+
11
+ LineLength:
12
+ Max: 120
13
+
14
+ MethodLength:
15
+ Max: 15
16
+
17
+ Documentation:
18
+ Enabled: false
19
+
20
+ AsciiComments:
21
+ Enabled: false
22
+
23
+ ClassAndModuleChildren:
24
+ EnforcedStyle: nested
25
+
26
+ NumericLiterals:
27
+ MinDigits: 7
28
+
29
+ StringLiterals:
30
+ EnforcedStyle: single_quotes
31
+
32
+ SpaceBeforeBlockBraces:
33
+ EnforcedStyle: space
34
+
35
+ SpaceInsideBlockBraces:
36
+ EnforcedStyle: space
37
+ EnforcedStyleForEmptyBraces: no_space
38
+ SpaceBeforeBlockParameters: true
39
+
40
+ SpaceInsideHashLiteralBraces:
41
+ EnforcedStyle: no_space
42
+ EnforcedStyleForEmptyBraces: no_space
43
+
44
+ DotPosition:
45
+ EnforcedStyle: trailing
46
+
47
+ RaiseArgs:
48
+ EnforcedStyle: exploded
49
+
50
+ SignalException:
51
+ EnforcedStyle: semantic
52
+
53
+ Style/IndentationConsistency:
54
+ Enabled: true
55
+
56
+ Style/DoubleNegation:
57
+ Enabled: false
data/Gemfile CHANGED
@@ -1,25 +1,3 @@
1
- source "http://rubygems.org"
2
- # Add dependencies required to use your gem here.
3
- # Example:
4
- # gem "activesupport", ">= 2.3.5"
1
+ source 'https://rubygems.org'
5
2
 
6
- # Add dependencies to develop your gem here.
7
- # Include everything needed to run rake, tests, features, etc.
8
-
9
-
10
- group :development do
11
- gem "rspec", "~> 2.12.0"
12
- gem "yard", "~> 0.8.3"
13
- gem "redcarpet", "~> 2.2.2"
14
- gem "rdoc", "~> 3.12"
15
- gem "bundler", "~> 1.2.3"
16
- gem "jeweler", "~> 1.8.4"
17
- if RUBY_VERSION <= '1.8.7'
18
- gem "rcov", "~> 1.0.0"
19
- else
20
- gem "simplecov", "~> 0.7.1"
21
- gem "simplecov-rcov", "~> 0.2.3"
22
- end
23
- gem "ci_reporter", "~> 1.8.3"
24
- gem "flog", "~> 3.2.1"
25
- end
3
+ gemspec
data/README.md CHANGED
@@ -5,9 +5,7 @@ Music score converter.
5
5
  ## Supported Ruby versions and implementations
6
6
  Lapidary should work identically on:
7
7
 
8
- * Ruby 1.9.3
9
- * Ruby 1.9.2
10
- * Ruby 1.8.7
8
+ * Ruby 2.1.4
11
9
 
12
10
  ## Install
13
11
 
@@ -24,13 +22,21 @@ You can install transcore by gem.
24
22
  B G#m E F#7
25
23
 
26
24
  ### Convert sharp to flat
27
- $ echo "F Dm A# C7" | transcore flat
25
+ $ echo "F Dm A# C7" | transcore to-flat
28
26
  F Dm B♭ C7
29
27
 
30
28
  ### Convert flat to sharp
31
- $ echo "A G♭m D E7" | transcore sharp
29
+ $ echo "A G♭m D E7" | transcore to-sharp
32
30
  A F#m D E7
33
31
 
32
+ ### Convert from doremi
33
+ $ echo "doremifa solatido" | transcore from-doremi
34
+ CDEF GABC
35
+
36
+ ### Convert to japanese
37
+ $ echo "CDEF GABC" | transcore to-japanese
38
+ ドレミファ ソラシド
39
+
34
40
  ### Convert html-score to text-score
35
41
  $ cat score.html
36
42
  <span>C</span>
@@ -40,7 +46,7 @@ You can install transcore by gem.
40
46
  <br/>
41
47
  <span>G7</span>
42
48
  <span>lalala...</span>
43
- $ cat score.html | transcore text-score
49
+ $ cat score.html | transcore from-html
44
50
  C Lalala F lala
45
51
  G7 lalala...
46
52
 
data/Rakefile CHANGED
@@ -1,76 +1,8 @@
1
- # encoding: utf-8
1
+ require 'bundler/gem_tasks'
2
2
 
3
- require "rubygems"
4
- require "bundler"
5
3
  begin
6
- Bundler.setup(:default, :development)
7
- rescue Bundler::BundlerError => e
8
- $stderr.puts e.message
9
- $stderr.puts "Run `bundle install` to install missing gems"
10
- exit e.status_code
4
+ require 'rspec/core/rake_task'
5
+ RSpec::Core::RakeTask.new(:spec)
6
+ rescue LoadError
7
+ raise
11
8
  end
12
- require "rake"
13
-
14
- require "jeweler"
15
- Jeweler::Tasks.new do |gem|
16
- # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
17
- gem.name = "transcore"
18
- gem.homepage = "http://github.com/haracane/transcore"
19
- gem.license = "MIT"
20
- gem.summary = "transcore RubyGem"
21
- gem.description = "transcore RubyGem"
22
- gem.email = "haracane@gmail.com"
23
- gem.authors = ["Kenji Hara"]
24
- # dependencies defined in Gemfile
25
- end
26
- Jeweler::RubygemsDotOrgTasks.new
27
-
28
- ## RSpec
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
- end
34
-
35
- RSpec::Core::RakeTask.new(:rcov) do |spec|
36
- spec.pattern = "spec/**/*_spec.rb"
37
- spec.rcov = true
38
- end
39
-
40
- ## RDoc
41
- require "rdoc/task"
42
- Rake::RDocTask.new do |rdoc|
43
- version = File.exist?("VERSION") ? File.read("VERSION") : ""
44
- rdoc.rdoc_dir = "rdoc"
45
- rdoc.title = "lapidary #{version}"
46
- rdoc.rdoc_files.include("README*")
47
- rdoc.rdoc_files.include("lib/**/*.rb")
48
- end
49
-
50
- ## YARD
51
- require "yard"
52
- require "yard/rake/yardoc_task"
53
- YARD::Rake::YardocTask.new do |t|
54
- t.files = ["lib/**/*.rb"]
55
- t.options = []
56
- t.options << "--debug" << "--verbose" if $trace
57
- end
58
-
59
- # CI::Reporter
60
- require "ci/reporter/rake/rspec"
61
-
62
- ## RCov
63
- if RUBY_VERSION <= "1.8.7"
64
- require "rcov"
65
- RSpec::Core::RakeTask.new("spec:rcov") do |t|
66
- t.rcov = true
67
- t.rspec_opts = ["-c"]
68
- t.rcov_opts = ["-x", "spec"]
69
- end
70
- else
71
- RSpec::Core::RakeTask.new("spec:rcov") do |t|
72
- t.rspec_opts = ["-v"]
73
- end
74
- end
75
-
76
- task :default => :spec
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require "transcore"
3
+ require 'transcore'
4
4
 
5
5
  command = ARGV[0]
6
6
 
7
7
  exit_code = 0
8
8
 
9
9
  case command
10
- when "transpose"
10
+ when 'transpose'
11
11
  ARGV.shift
12
12
  exit_code = Transcore::Command::Transpose.run(ARGV) || 0
13
- when "convert"
13
+ when 'convert'
14
14
  ARGV.shift
15
15
  exit_code = Transcore::Command::Convert.run(ARGV) || 0
16
16
  else
@@ -1,8 +1,8 @@
1
- require "logger"
1
+ require 'logger'
2
2
 
3
- require "transcore/command/convert"
4
- require "transcore/command/default"
5
- require "transcore/command/transpose"
3
+ require 'transcore/command/convert'
4
+ require 'transcore/command/default'
5
+ require 'transcore/command/transpose'
6
6
 
7
7
  module Transcore
8
8
  # Reader method for the logger of Lapidary
@@ -10,18 +10,18 @@ module Transcore
10
10
  def self.logger
11
11
  if @logger.nil?
12
12
  @logger = (rails_logger || default_logger)
13
- @logger.formatter = proc { |severity, datetime, progname, msg|
13
+ @logger.formatter = proc { |severity, datetime, _progname, msg|
14
14
  datetime.strftime("[%Y-%m-%d %H:%M:%S](#{severity}) #{msg}\n")
15
15
  }
16
16
  end
17
- return @logger
17
+ @logger
18
18
  end
19
19
 
20
20
  # Reader method for the rails logger of Lapidary
21
21
  # @return [Logger] Logger object
22
22
  def self.rails_logger
23
23
  (defined?(Rails) && Rails.respond_to?(:logger) && Rails.logger) ||
24
- (defined?(RAILS_DEFAULT_LOGGER) && RAILS_DEFAULT_LOGGER.respond_to?(:debug) && RAILS_DEFAULT_LOGGER)
24
+ (defined?(RAILS_DEFAULT_LOGGER) && RAILS_DEFAULT_LOGGER.respond_to?(:debug) && RAILS_DEFAULT_LOGGER)
25
25
  end
26
26
 
27
27
  # Reader method for the default logger of Lapidary
@@ -34,7 +34,7 @@ module Transcore
34
34
 
35
35
  # Writer method for the logger of Lapidary
36
36
  # @param logger [Logger]
37
- def self.logger=(logger)
38
- @logger = logger
37
+ class << self
38
+ attr_writer :logger
39
39
  end
40
40
  end
@@ -1,58 +1,94 @@
1
- # coding: utf-8
2
1
  module Transcore
3
2
  module Command
4
3
  module Convert
5
- def self.parse_opts(argv)
6
- return {}
4
+ def self.parse_opts(_argv)
5
+ {}
7
6
  end
8
-
9
- def self.run(argv, input_stream=$stdin, output_stream=$stdout)
10
- params = self.parse_opts(argv)
7
+
8
+ def self.run(argv, input_stream = $stdin, output_stream = $stdout)
11
9
  command = argv.shift
12
10
  input = input_stream.read
13
-
14
- input.gsub!(/ /, " ")
15
-
11
+
12
+ input.gsub!(/ /, ' ')
13
+
16
14
  case command
17
- when "sharp"
18
- input.gsub!(/(^|\s|\/|on)A♭/, "\\1G#")
19
- input.gsub!(/(^|\s|\/|on)B♭/, "\\1A#")
20
- input.gsub!(/(^|\s|\/|on)D♭/, "\\1C#")
21
- input.gsub!(/(^|\s|\/|on)E♭/, "\\1D#")
22
- input.gsub!(/(^|\s|\/|on)G♭/, "\\1F#")
23
- when "flat"
24
- input.gsub!(/(^|\s|\/|on)G#/, "\\1A♭")
25
- input.gsub!(/(^|\s|\/|on)A#/, "\\1B♭")
26
- input.gsub!(/(^|\s|\/|on)C#/, "\\1D♭")
27
- input.gsub!(/(^|\s|\/|on)D#/, "\\1E♭")
28
- input.gsub!(/(^|\s|\/|on)F#/, "\\1G♭")
29
- when "doremi"
30
- input.gsub!(/A/, "")
31
- input.gsub!(/B/, "")
32
- input.gsub!(/C/, "")
33
- input.gsub!(/D/, "")
34
- input.gsub!(/E/, "")
35
- input.gsub!(/F/, "ファ")
36
- input.gsub!(/G/, "")
37
- when "text-score"
38
- input.gsub!(/\n/, "")
15
+ when 'to-sharp', 'sharp'
16
+ input.gsub!(/(^|\s|\/|on)A♭/, '\\1G#')
17
+ input.gsub!(/(^|\s|\/|on)B♭/, '\\1A#')
18
+ input.gsub!(/(^|\s|\/|on)D♭/, '\\1C#')
19
+ input.gsub!(/(^|\s|\/|on)E♭/, '\\1D#')
20
+ input.gsub!(/(^|\s|\/|on)G♭/, '\\1F#')
21
+ when 'to-flat', 'flat'
22
+ input.gsub!(/(^|\s|\/|on)G#/, '\\1A♭')
23
+ input.gsub!(/(^|\s|\/|on)A#/, '\\1B♭')
24
+ input.gsub!(/(^|\s|\/|on)C#/, '\\1D♭')
25
+ input.gsub!(/(^|\s|\/|on)D#/, '\\1E♭')
26
+ input.gsub!(/(^|\s|\/|on)F#/, '\\1G♭')
27
+ when 'to-japanese', 'doremi'
28
+ input.gsub!(/A/, '')
29
+ input.gsub!(/B/, '')
30
+ input.gsub!(/C/, '')
31
+ input.gsub!(/D/, '')
32
+ input.gsub!(/E/, '')
33
+ input.gsub!(/F/, 'ファ')
34
+ input.gsub!(/G/, '')
35
+ when 'to-doremi', 'doremi'
36
+ input.gsub!(/A#/, 'li')
37
+ input.gsub!(/C#/, 'di')
38
+ input.gsub!(/D#/, 'ri')
39
+ input.gsub!(/F#/, 'fi')
40
+ input.gsub!(/G#/, 'si')
41
+ input.gsub!(/A♭/, 'le')
42
+ input.gsub!(/B♭/, 'te')
43
+ input.gsub!(/D♭/, 're')
44
+ input.gsub!(/E♭/, 'me')
45
+ input.gsub!(/G♭/, 'se')
46
+ input.gsub!(/A/, 'la')
47
+ input.gsub!(/B/, 'ti')
48
+ input.gsub!(/C/, 'do')
49
+ input.gsub!(/D/, 're')
50
+ input.gsub!(/E/, 'mi')
51
+ input.gsub!(/F/, 'fa')
52
+ input.gsub!(/G/, 'so')
53
+ when 'from-doremi'
54
+ input.gsub!(/la/i, 'A')
55
+ input.gsub!(/ti/i, 'B')
56
+ input.gsub!(/do/i, 'C')
57
+ input.gsub!(/re/i, 'D')
58
+ input.gsub!(/mi/i, 'E')
59
+ input.gsub!(/fa/i, 'F')
60
+ input.gsub!(/so/i, 'G')
61
+ input.gsub!(/li/i, 'A#')
62
+ input.gsub!(/di/i, 'C#')
63
+ input.gsub!(/ri/i, 'D#')
64
+ input.gsub!(/fi/i, 'F#')
65
+ input.gsub!(/si/i, 'G#')
66
+ input.gsub!(/le/i, 'A♭')
67
+ input.gsub!(/te/i, 'B♭')
68
+ input.gsub!(/re/i, 'D♭')
69
+ input.gsub!(/me/i, 'E♭')
70
+ input.gsub!(/se/i, 'G♭')
71
+ when 'from-html', 'text-score'
72
+ input.gsub!(/\n/, '')
39
73
  input.gsub!(/<br\/?>/, "\n")
40
74
  input.gsub!(/<\/p>/, "\n")
41
- input.gsub!(/<[^>]+>/, " ")
42
- input.gsub!(/&nbsp;/, " ")
43
- input.gsub!(/ /, " ")
44
- input.gsub!(/^ +/, "")
45
- input.gsub!(/ +$/, "")
46
- input.gsub!(///, "|")
47
- input.gsub!(/#/, "#")
48
- input.gsub!(/ /, " ")
75
+ input.gsub!(/<[^>]+>/, ' ')
76
+ input.gsub!(/&nbsp;/, ' ')
77
+ input.gsub!(/ /, ' ')
78
+ input.gsub!(/^ +/, '')
79
+ input.gsub!(/ +$/, '')
80
+ input.gsub!(///, '|')
81
+ input.gsub!(/#/, '#')
82
+ input.gsub!(/ /, ' ')
49
83
  input.gsub!(/\n\n\n/, "\n\n")
84
+ else
85
+ return 2
50
86
  end
51
87
  result = input
52
-
88
+
53
89
  output_stream.puts result
54
- return 0
90
+ 0
55
91
  end
56
92
  end
57
93
  end
58
- end
94
+ end
@@ -1,23 +1,12 @@
1
1
  module Transcore
2
2
  module Command
3
3
  module Default
4
- def self.run(argv, input_stream=$stdin, output_stream=$stdout)
4
+ def self.run(argv, input_stream = $stdin, output_stream = $stdout)
5
5
  command = argv[0]
6
6
  if /^[+\-]?[0-9]+$/ =~ command
7
7
  return Transcore::Command::Transpose.run(argv, input_stream, output_stream)
8
8
  else
9
- case command
10
- when "sharp"
11
- return Transcore::Command::Convert.run(argv, input_stream, output_stream)
12
- when "flat"
13
- return Transcore::Command::Convert.run(argv, input_stream, output_stream)
14
- when "doremi"
15
- return Transcore::Command::Convert.run(argv, input_stream, output_stream)
16
- when "text-score"
17
- return Transcore::Command::Convert.run(argv, input_stream, output_stream)
18
- else
19
- return 2
20
- end
9
+ return Transcore::Command::Convert.run(argv, input_stream, output_stream)
21
10
  end
22
11
  end
23
12
  end