mireru 0.0.6 → 0.0.7
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 +4 -4
- data/images/sorry.png +0 -0
- data/lib/mireru/command/mireru.rb +33 -60
- data/lib/mireru/container.rb +34 -0
- data/lib/mireru/version.rb +1 -1
- data/lib/mireru/widget.rb +32 -14
- data/lib/mireru/window.rb +15 -0
- data/mireru.gemspec +1 -0
- data/test/test-container.rb +41 -0
- data/test/test-mireru.rb +0 -41
- metadata +21 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c5b2947adb9a99a12d807c1f0e58d38038448eb3
|
4
|
+
data.tar.gz: 1d9776369ac1a0464740d56299d051fa13c29f73
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dba7074a99ee4fff2698f3da1f8fae313b92f136938fba0b1c8841437e13fb656c6ac047f011c5633685410cf48ee28cd77fe07eb72b75e5780543a7ac217dd4
|
7
|
+
data.tar.gz: a352694d1383a69a3953a5ea2826f3e3280ca0cdab381e112604cf497b21cda5a17a9df8980742becfece519cf485eedafa6a71171dbffe58bc1b734628969ab
|
data/images/sorry.png
ADDED
Binary file
|
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'gtk3'
|
2
2
|
require "mireru/logger"
|
3
|
-
require "mireru/
|
3
|
+
require "mireru/window"
|
4
|
+
require "mireru/container"
|
4
5
|
|
5
6
|
module Mireru
|
6
7
|
module Command
|
@@ -19,66 +20,36 @@ module Mireru
|
|
19
20
|
|
20
21
|
def run(arguments)
|
21
22
|
if arguments.empty?
|
22
|
-
|
23
|
+
files = Dir.glob("*")
|
24
|
+
file_container = ::Mireru::Container.new(files)
|
23
25
|
elsif /\A(-h|--help)\z/ =~ arguments[0]
|
24
|
-
|
25
|
-
#{USAGE}
|
26
|
-
If no argument, then search current directory.
|
27
|
-
Keybind:
|
28
|
-
n: next
|
29
|
-
p: prev
|
30
|
-
q: quit
|
31
|
-
EOM
|
32
|
-
@logger.info(message)
|
26
|
+
write_help_message
|
33
27
|
exit(true)
|
34
28
|
else
|
35
|
-
|
29
|
+
files = arguments
|
30
|
+
file_container = ::Mireru::Container.new(files)
|
36
31
|
end
|
37
32
|
|
38
|
-
file_container.select! {|f| support_file?(f) }
|
39
|
-
|
40
33
|
if file_container.empty?
|
41
|
-
|
42
|
-
Warning: valid file not found.
|
43
|
-
#{USAGE}
|
44
|
-
Support file types: png, gif, jpeg(jpg). The others are...yet.
|
45
|
-
EOM
|
46
|
-
@logger.error(message)
|
34
|
+
write_empty_message
|
47
35
|
exit(false)
|
48
36
|
end
|
49
37
|
|
50
38
|
file = file_container.shift
|
51
|
-
widget = ::Mireru::Widget.create(file)
|
52
39
|
|
53
|
-
window =
|
54
|
-
window.
|
40
|
+
window = ::Mireru::Window.new
|
41
|
+
window.add_from_file(file)
|
55
42
|
|
56
43
|
window.signal_connect("key_press_event") do |w, e|
|
57
44
|
case e.keyval
|
58
45
|
when Gdk::Keyval::GDK_KEY_n
|
59
|
-
|
60
|
-
|
61
|
-
file = file_container.shift
|
62
|
-
widget = ::Mireru::Widget.create(file)
|
63
|
-
window.add(widget)
|
64
|
-
window.show_all
|
65
|
-
window.title = File.basename(file)
|
66
|
-
window.resize(1, 1)
|
46
|
+
file = file_container.shift(file)
|
47
|
+
window.add_from_file(file)
|
67
48
|
when Gdk::Keyval::GDK_KEY_p
|
68
|
-
|
69
|
-
|
70
|
-
file = file_container.pop
|
71
|
-
widget = ::Mireru::Widget.create(file)
|
72
|
-
window.add(widget)
|
73
|
-
window.show_all
|
74
|
-
window.title = File.basename(file)
|
75
|
-
window.resize(1, 1)
|
49
|
+
file = file_container.pop(file)
|
50
|
+
window.add_from_file(file)
|
76
51
|
when Gdk::Keyval::GDK_KEY_r
|
77
|
-
window.
|
78
|
-
widget = ::Mireru::Widget.create(file)
|
79
|
-
window.add(widget)
|
80
|
-
window.show_all
|
81
|
-
window.resize(1, 1)
|
52
|
+
window.add_from_file(file)
|
82
53
|
when Gdk::Keyval::GDK_KEY_q
|
83
54
|
Gtk.main_quit
|
84
55
|
end
|
@@ -88,27 +59,29 @@ Support file types: png, gif, jpeg(jpg). The others are...yet.
|
|
88
59
|
Gtk.main_quit
|
89
60
|
end
|
90
61
|
|
91
|
-
window.add(widget)
|
92
|
-
window.show_all
|
93
|
-
|
94
62
|
Gtk.main
|
95
63
|
end
|
96
64
|
|
97
65
|
private
|
98
|
-
def
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
end
|
66
|
+
def write_help_message
|
67
|
+
message = <<-EOM
|
68
|
+
#{USAGE}
|
69
|
+
If no argument, then search current directory.
|
70
|
+
Keybind:
|
71
|
+
n: next
|
72
|
+
p: prev
|
73
|
+
q: quit
|
74
|
+
EOM
|
75
|
+
@logger.info(message)
|
76
|
+
end
|
110
77
|
|
111
|
-
|
78
|
+
def write_empty_message
|
79
|
+
message = <<-EOM
|
80
|
+
Warning: valid file not found.
|
81
|
+
#{USAGE}
|
82
|
+
Support file types: png, gif, jpeg(jpg). The others are...yet.
|
83
|
+
EOM
|
84
|
+
@logger.error(message)
|
112
85
|
end
|
113
86
|
end
|
114
87
|
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module Mireru
|
2
|
+
class Container
|
3
|
+
def initialize(files=[])
|
4
|
+
@files = files.select {|file| file?(file) }
|
5
|
+
end
|
6
|
+
|
7
|
+
def empty?
|
8
|
+
@files.empty?
|
9
|
+
end
|
10
|
+
|
11
|
+
def pop(complement_file=nil)
|
12
|
+
@files.unshift(complement_file) if complement_file
|
13
|
+
@files.pop
|
14
|
+
end
|
15
|
+
|
16
|
+
def shift(complement_file=nil)
|
17
|
+
@files.push(complement_file) if complement_file
|
18
|
+
@files.shift
|
19
|
+
end
|
20
|
+
|
21
|
+
private
|
22
|
+
def file?(file)
|
23
|
+
unless file
|
24
|
+
return false
|
25
|
+
end
|
26
|
+
|
27
|
+
unless File.file?(file)
|
28
|
+
return false
|
29
|
+
end
|
30
|
+
|
31
|
+
true
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
data/lib/mireru/version.rb
CHANGED
data/lib/mireru/widget.rb
CHANGED
@@ -2,22 +2,40 @@ require 'gtk3'
|
|
2
2
|
|
3
3
|
module Mireru
|
4
4
|
class Widget
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
class << self
|
6
|
+
def create(file)
|
7
|
+
case File.extname(file)
|
8
|
+
when /\A\.(png|jpe?g|gif)\z/i
|
9
|
+
image = Gtk::Image.new
|
10
|
+
image.file = file
|
11
|
+
widget = image
|
12
|
+
else
|
13
|
+
require 'gtksourceview3'
|
14
|
+
text = File.open(file).read
|
15
|
+
return sorry unless text.valid_encoding?
|
16
|
+
buffer = GtkSource::Buffer.new
|
17
|
+
buffer.text = text
|
18
|
+
view = GtkSource::View.new(buffer)
|
19
|
+
view.show_line_numbers = true
|
20
|
+
lang = GtkSource::LanguageManager.new.get_language('ruby')
|
21
|
+
view.buffer.language = lang
|
22
|
+
view.buffer.highlight_syntax = true
|
23
|
+
view.buffer.highlight_matching_brackets = true
|
24
|
+
view.editable = false
|
25
|
+
widget = view
|
26
|
+
end
|
27
|
+
widget
|
28
|
+
end
|
29
|
+
|
30
|
+
private
|
31
|
+
def sorry
|
8
32
|
image = Gtk::Image.new
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
text = Gtk::TextView.new(buffer)
|
15
|
-
text.editable = false
|
16
|
-
widget = text
|
17
|
-
else
|
18
|
-
raise "coding error: uncheck file type."
|
33
|
+
base_dir = File.join(File.dirname(__FILE__), "..", "..")
|
34
|
+
images_dir = File.join(base_dir, "images")
|
35
|
+
image_path = File.expand_path(File.join(images_dir, "sorry.png"))
|
36
|
+
image.file = image_path
|
37
|
+
image
|
19
38
|
end
|
20
|
-
widget
|
21
39
|
end
|
22
40
|
end
|
23
41
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'gtk3'
|
2
|
+
require "mireru/widget"
|
3
|
+
|
4
|
+
module Mireru
|
5
|
+
class Window < Gtk::Window
|
6
|
+
def add_from_file(file)
|
7
|
+
self.remove(@widget) if @widget
|
8
|
+
@widget = Mireru::Widget.create(file)
|
9
|
+
self.add(@widget)
|
10
|
+
self.show_all
|
11
|
+
self.title = File.basename(file)
|
12
|
+
self.resize(1, 1)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
data/mireru.gemspec
CHANGED
@@ -0,0 +1,41 @@
|
|
1
|
+
require "mireru/container"
|
2
|
+
|
3
|
+
class TestContainer< Test::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
@container = Mireru::Container.new
|
6
|
+
end
|
7
|
+
|
8
|
+
def test_no_argument
|
9
|
+
valid = @container.__send__(:file?, nil)
|
10
|
+
assert_false(valid)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_missing_file
|
14
|
+
valid = @container.__send__(:file?, "hoge")
|
15
|
+
assert_false(valid)
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_no_extention_file_type
|
19
|
+
file = File.join(File.dirname(__FILE__), "fixtures", "no-extention")
|
20
|
+
valid = @container.__send__(:file?, file)
|
21
|
+
assert_true(valid)
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_png_file
|
25
|
+
file = File.join(File.dirname(__FILE__), "fixtures", "nijip.png")
|
26
|
+
valid = @container.__send__(:file?, file)
|
27
|
+
assert_true(valid)
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_txt_file
|
31
|
+
file = File.join(File.dirname(__FILE__), "fixtures", "LICENSE.txt")
|
32
|
+
valid = @container.__send__(:file?, file)
|
33
|
+
assert_true(valid)
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_rb_file
|
37
|
+
file = File.join(File.dirname(__FILE__), "fixtures", "nijip.rb")
|
38
|
+
valid = @container.__send__(:file?, file)
|
39
|
+
assert_true(valid)
|
40
|
+
end
|
41
|
+
end
|
data/test/test-mireru.rb
CHANGED
@@ -1,45 +1,4 @@
|
|
1
1
|
require "mireru/command/mireru"
|
2
2
|
|
3
|
-
module ValidTests
|
4
|
-
def test_no_argument
|
5
|
-
valid = @mireru.__send__(:support_file?, nil)
|
6
|
-
assert_false(valid)
|
7
|
-
end
|
8
|
-
|
9
|
-
def test_missing_file
|
10
|
-
valid = @mireru.__send__(:support_file?, "hoge")
|
11
|
-
assert_false(valid)
|
12
|
-
end
|
13
|
-
|
14
|
-
def test_not_support_file_type
|
15
|
-
file = File.join(File.dirname(__FILE__), "fixtures", "no-extention")
|
16
|
-
valid = @mireru.__send__(:support_file?, file)
|
17
|
-
assert_false(valid)
|
18
|
-
end
|
19
|
-
|
20
|
-
def test_png_file
|
21
|
-
file = File.join(File.dirname(__FILE__), "fixtures", "nijip.png")
|
22
|
-
valid = @mireru.__send__(:support_file?, file)
|
23
|
-
assert_true(valid)
|
24
|
-
end
|
25
|
-
|
26
|
-
def test_txt_file
|
27
|
-
file = File.join(File.dirname(__FILE__), "fixtures", "LICENSE.txt")
|
28
|
-
valid = @mireru.__send__(:support_file?, file)
|
29
|
-
assert_true(valid)
|
30
|
-
end
|
31
|
-
|
32
|
-
def test_rb_file
|
33
|
-
file = File.join(File.dirname(__FILE__), "fixtures", "nijip.rb")
|
34
|
-
valid = @mireru.__send__(:support_file?, file)
|
35
|
-
assert_true(valid)
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
3
|
class TestMireru < Test::Unit::TestCase
|
40
|
-
def setup
|
41
|
-
@mireru = Mireru::Command::Mireru.new
|
42
|
-
end
|
43
|
-
|
44
|
-
include ValidTests
|
45
4
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mireru
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Masafumi Yokoyama
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-04-
|
11
|
+
date: 2013-04-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gtk3
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: gtksourceview3
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: test-unit
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,17 +122,21 @@ files:
|
|
108
122
|
- README.md
|
109
123
|
- Rakefile
|
110
124
|
- bin/mireru
|
125
|
+
- images/sorry.png
|
111
126
|
- lib/mireru.rb
|
112
127
|
- lib/mireru/command/mireru.rb
|
128
|
+
- lib/mireru/container.rb
|
113
129
|
- lib/mireru/logger.rb
|
114
130
|
- lib/mireru/version.rb
|
115
131
|
- lib/mireru/widget.rb
|
132
|
+
- lib/mireru/window.rb
|
116
133
|
- mireru.gemspec
|
117
134
|
- test/fixtures/LICENSE.txt
|
118
135
|
- test/fixtures/nijip.png
|
119
136
|
- test/fixtures/nijip.rb
|
120
137
|
- test/fixtures/no-extention
|
121
138
|
- test/run-test.rb
|
139
|
+
- test/test-container.rb
|
122
140
|
- test/test-logger.rb
|
123
141
|
- test/test-mireru.rb
|
124
142
|
homepage: https://github.com/myokoym/mireru
|
@@ -151,6 +169,7 @@ test_files:
|
|
151
169
|
- test/fixtures/nijip.rb
|
152
170
|
- test/fixtures/no-extention
|
153
171
|
- test/run-test.rb
|
172
|
+
- test/test-container.rb
|
154
173
|
- test/test-logger.rb
|
155
174
|
- test/test-mireru.rb
|
156
175
|
has_rdoc:
|