ffi-tk 2010.08.23 → 2018.02.20

Sign up to get free protection for your applications and to get access to all the features.
Files changed (199) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +2 -0
  3. data/.rubocop.yml +7 -0
  4. data/.rubocop_todo.yml +371 -0
  5. data/AUTHORS +4 -2
  6. data/CHANGELOG +302 -262
  7. data/Gemfile +10 -0
  8. data/Gemfile.lock +45 -0
  9. data/MANIFEST +6 -6
  10. data/README.md +1 -1
  11. data/Rakefile +12 -11
  12. data/bin/rwish +6 -5
  13. data/example/choose_color.rb +5 -4
  14. data/example/choose_directory.rb +5 -4
  15. data/example/dialog.rb +9 -8
  16. data/example/hello.rb +2 -1
  17. data/example/message_box.rb +8 -5
  18. data/example/option_menu.rb +4 -3
  19. data/example/popup.rb +4 -3
  20. data/example/set_palette.rb +5 -4
  21. data/example/text.rb +30 -30
  22. data/example/tile/kroc_demo_small.rb +51 -55
  23. data/example/tile/kroc_rb_demo.rb +74 -83
  24. data/example/tile/notebook.rb +6 -9
  25. data/example/tile/theme_hello.rb +6 -8
  26. data/example/tile/themes.rb +4 -2
  27. data/example/tile/treeview.rb +16 -14
  28. data/example/tkgo.rb +120 -88
  29. data/example/various.rb +8 -7
  30. data/example/wait.rb +3 -2
  31. data/ffi-tk.gemspec +21 -20
  32. data/gemset.nix +134 -0
  33. data/lib/ffi-tk.rb +10 -11
  34. data/lib/ffi-tk/command.rb +3 -2
  35. data/lib/ffi-tk/command/after.rb +8 -7
  36. data/lib/ffi-tk/command/bell.rb +2 -1
  37. data/lib/ffi-tk/command/bind.rb +1 -0
  38. data/lib/ffi-tk/command/bindtags.rb +1 -0
  39. data/lib/ffi-tk/command/cget.rb +31 -24
  40. data/lib/ffi-tk/command/choose_color.rb +2 -1
  41. data/lib/ffi-tk/command/choose_directory.rb +2 -1
  42. data/lib/ffi-tk/command/clipboard.rb +6 -5
  43. data/lib/ffi-tk/command/configure.rb +23 -21
  44. data/lib/ffi-tk/command/destroy.rb +2 -1
  45. data/lib/ffi-tk/command/dialog.rb +4 -3
  46. data/lib/ffi-tk/command/event.rb +1 -0
  47. data/lib/ffi-tk/command/focus.rb +2 -1
  48. data/lib/ffi-tk/command/font.rb +12 -9
  49. data/lib/ffi-tk/command/get_open_file.rb +1 -0
  50. data/lib/ffi-tk/command/get_save_file.rb +1 -0
  51. data/lib/ffi-tk/command/grab.rb +2 -1
  52. data/lib/ffi-tk/command/grid.rb +7 -6
  53. data/lib/ffi-tk/command/image.rb +5 -4
  54. data/lib/ffi-tk/command/lower.rb +1 -0
  55. data/lib/ffi-tk/command/message_box.rb +2 -1
  56. data/lib/ffi-tk/command/option_menu.rb +3 -2
  57. data/lib/ffi-tk/command/pack.rb +5 -4
  58. data/lib/ffi-tk/command/place.rb +5 -4
  59. data/lib/ffi-tk/command/popup.rb +2 -1
  60. data/lib/ffi-tk/command/raise.rb +1 -0
  61. data/lib/ffi-tk/command/scrollable.rb +7 -10
  62. data/lib/ffi-tk/command/selection.rb +4 -3
  63. data/lib/ffi-tk/command/set_palette.rb +2 -1
  64. data/lib/ffi-tk/command/tk_cmd.rb +1 -0
  65. data/lib/ffi-tk/command/vars.rb +2 -1
  66. data/lib/ffi-tk/command/wait.rb +2 -1
  67. data/lib/ffi-tk/command/winfo.rb +9 -8
  68. data/lib/ffi-tk/command/wm.rb +11 -10
  69. data/lib/ffi-tk/core_extensions.rb +5 -4
  70. data/lib/ffi-tk/event/data.rb +32 -31
  71. data/lib/ffi-tk/event/handler.rb +4 -3
  72. data/lib/ffi-tk/ffi/tcl.rb +42 -31
  73. data/lib/ffi-tk/ffi/tcl/cmd_proc.rb +2 -1
  74. data/lib/ffi-tk/ffi/tcl/eval_result.rb +47 -8
  75. data/lib/ffi-tk/ffi/tcl/interp.rb +7 -4
  76. data/lib/ffi-tk/ffi/tcl/obj.rb +7 -32
  77. data/lib/ffi-tk/ffi/tcl/time.rb +2 -1
  78. data/lib/ffi-tk/ffi/tk.rb +8 -7
  79. data/lib/ffi-tk/geometry.rb +20 -17
  80. data/lib/ffi-tk/thread_sender.rb +1 -0
  81. data/lib/ffi-tk/tk.rb +23 -23
  82. data/lib/ffi-tk/variable.rb +25 -3
  83. data/lib/ffi-tk/version.rb +1 -1
  84. data/lib/ffi-tk/widget.rb +2 -1
  85. data/lib/ffi-tk/widget/button.rb +4 -1
  86. data/lib/ffi-tk/widget/canvas.rb +18 -15
  87. data/lib/ffi-tk/widget/canvas/arc.rb +2 -1
  88. data/lib/ffi-tk/widget/canvas/bitmap.rb +2 -1
  89. data/lib/ffi-tk/widget/canvas/image.rb +2 -1
  90. data/lib/ffi-tk/widget/canvas/item.rb +4 -4
  91. data/lib/ffi-tk/widget/canvas/line.rb +2 -1
  92. data/lib/ffi-tk/widget/canvas/oval.rb +2 -1
  93. data/lib/ffi-tk/widget/canvas/polygon.rb +2 -1
  94. data/lib/ffi-tk/widget/canvas/rectangle.rb +2 -1
  95. data/lib/ffi-tk/widget/canvas/text.rb +2 -1
  96. data/lib/ffi-tk/widget/canvas/window.rb +2 -1
  97. data/lib/ffi-tk/widget/checkbutton.rb +4 -1
  98. data/lib/ffi-tk/widget/entry.rb +4 -1
  99. data/lib/ffi-tk/widget/frame.rb +4 -1
  100. data/lib/ffi-tk/widget/label.rb +4 -1
  101. data/lib/ffi-tk/widget/labelframe.rb +4 -1
  102. data/lib/ffi-tk/widget/listbox.rb +5 -2
  103. data/lib/ffi-tk/widget/menu.rb +4 -1
  104. data/lib/ffi-tk/widget/menubutton.rb +4 -1
  105. data/lib/ffi-tk/widget/message.rb +4 -1
  106. data/lib/ffi-tk/widget/panedwindow.rb +5 -2
  107. data/lib/ffi-tk/widget/radiobutton.rb +4 -1
  108. data/lib/ffi-tk/widget/root.rb +1 -0
  109. data/lib/ffi-tk/widget/scale.rb +4 -1
  110. data/lib/ffi-tk/widget/scrollbar.rb +4 -1
  111. data/lib/ffi-tk/widget/spinbox.rb +4 -1
  112. data/lib/ffi-tk/widget/text.rb +20 -16
  113. data/lib/ffi-tk/widget/text/peer.rb +1 -0
  114. data/lib/ffi-tk/widget/tile.rb +2 -1
  115. data/lib/ffi-tk/widget/tile/button.rb +4 -1
  116. data/lib/ffi-tk/widget/tile/checkbutton.rb +4 -1
  117. data/lib/ffi-tk/widget/tile/combobox.rb +5 -2
  118. data/lib/ffi-tk/widget/tile/entry.rb +4 -1
  119. data/lib/ffi-tk/widget/tile/frame.rb +4 -1
  120. data/lib/ffi-tk/widget/tile/label.rb +4 -2
  121. data/lib/ffi-tk/widget/tile/labelframe.rb +4 -1
  122. data/lib/ffi-tk/widget/tile/menubutton.rb +4 -1
  123. data/lib/ffi-tk/widget/tile/notebook.rb +4 -1
  124. data/lib/ffi-tk/widget/tile/panedwindow.rb +4 -1
  125. data/lib/ffi-tk/widget/tile/progressbar.rb +4 -2
  126. data/lib/ffi-tk/widget/tile/radiobutton.rb +4 -1
  127. data/lib/ffi-tk/widget/tile/scale.rb +4 -1
  128. data/lib/ffi-tk/widget/tile/scrollbar.rb +7 -4
  129. data/lib/ffi-tk/widget/tile/separator.rb +4 -1
  130. data/lib/ffi-tk/widget/tile/sizegrip.rb +4 -1
  131. data/lib/ffi-tk/widget/tile/style.rb +16 -17
  132. data/lib/ffi-tk/widget/tile/treeview.rb +11 -5
  133. data/lib/ffi-tk/widget/toplevel.rb +4 -1
  134. data/shell.nix +19 -0
  135. data/spec/ffi-tk/command/bind.rb +5 -4
  136. data/spec/ffi-tk/command/bindtags.rb +2 -1
  137. data/spec/ffi-tk/command/clipboard.rb +4 -3
  138. data/spec/ffi-tk/command/font.rb +20 -19
  139. data/spec/ffi-tk/command/image.rb +13 -5
  140. data/spec/ffi-tk/command/pack.rb +3 -2
  141. data/spec/ffi-tk/command/place.rb +4 -3
  142. data/spec/ffi-tk/command/selection.rb +2 -1
  143. data/spec/ffi-tk/command/vars.rb +3 -2
  144. data/spec/ffi-tk/command/winfo.rb +10 -10
  145. data/spec/ffi-tk/command/wm.rb +23 -22
  146. data/spec/ffi-tk/event.rb +23 -21
  147. data/spec/ffi-tk/tile/button.rb +8 -8
  148. data/spec/ffi-tk/tile/checkbutton.rb +1 -1
  149. data/spec/ffi-tk/tile/combobox.rb +11 -12
  150. data/spec/ffi-tk/tile/entry.rb +18 -19
  151. data/spec/ffi-tk/tile/frame.rb +13 -13
  152. data/spec/ffi-tk/tile/label.rb +2 -2
  153. data/spec/ffi-tk/tile/labelframe.rb +1 -1
  154. data/spec/ffi-tk/tile/menubutton.rb +1 -1
  155. data/spec/ffi-tk/tile/notebook.rb +22 -20
  156. data/spec/ffi-tk/tile/panedwindow.rb +1 -1
  157. data/spec/ffi-tk/tile/progressbar.rb +1 -1
  158. data/spec/ffi-tk/tile/radiobutton.rb +1 -1
  159. data/spec/ffi-tk/tile/scale.rb +1 -1
  160. data/spec/ffi-tk/tile/scrollbar.rb +1 -16
  161. data/spec/ffi-tk/tile/separator.rb +2 -2
  162. data/spec/ffi-tk/tile/sizegrip.rb +1 -1
  163. data/spec/ffi-tk/tile/style.rb +63 -65
  164. data/spec/ffi-tk/tile/treeview.rb +11 -10
  165. data/spec/ffi-tk/variable.rb +5 -4
  166. data/spec/ffi-tk/widget/button.rb +3 -2
  167. data/spec/ffi-tk/widget/canvas.rb +59 -58
  168. data/spec/ffi-tk/widget/checkbutton.rb +6 -5
  169. data/spec/ffi-tk/widget/entry.rb +112 -103
  170. data/spec/ffi-tk/widget/frame.rb +2 -1
  171. data/spec/ffi-tk/widget/label.rb +2 -1
  172. data/spec/ffi-tk/widget/labelframe.rb +1 -0
  173. data/spec/ffi-tk/widget/listbox.rb +5 -4
  174. data/spec/ffi-tk/widget/menu.rb +3 -2
  175. data/spec/ffi-tk/widget/menubutton.rb +1 -0
  176. data/spec/ffi-tk/widget/message.rb +1 -0
  177. data/spec/ffi-tk/widget/panedwindow.rb +1 -0
  178. data/spec/ffi-tk/widget/radiobutton.rb +1 -0
  179. data/spec/ffi-tk/widget/root.rb +2 -1
  180. data/spec/ffi-tk/widget/scale.rb +1 -0
  181. data/spec/ffi-tk/widget/scrollbar.rb +1 -0
  182. data/spec/ffi-tk/widget/spinbox.rb +1 -0
  183. data/spec/ffi-tk/widget/text.rb +63 -54
  184. data/spec/ffi-tk/widget/toplevel.rb +1 -0
  185. data/spec/helper.rb +3 -1
  186. data/tasks/authors.rake +3 -2
  187. data/tasks/bacon.rake +13 -11
  188. data/tasks/changelog.rake +1 -0
  189. data/tasks/gem.rake +13 -11
  190. data/tasks/manifest.rake +2 -1
  191. data/tasks/release.rake +11 -32
  192. data/tasks/reversion.rake +2 -1
  193. metadata +52 -75
  194. data/spec/ffi-tk/command/grid.rb +0 -6
  195. data/tasks/gem_setup.rake +0 -113
  196. data/tasks/grancher.rake +0 -12
  197. data/tasks/rcov.rake +0 -17
  198. data/tasks/setup.rake +0 -12
  199. data/tasks/ycov.rake +0 -84
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_relative '../../helper'
2
3
 
3
4
  describe Tk::Toplevel do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
1
2
  require_relative '../lib/ffi-tk'
2
3
  require 'bacon'
3
- Bacon.summary_at_exit
4
+
5
+ Bacon.summary_at_exit
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Once git has a fix for the glibc in handling .mailmap and another fix for
2
3
  # allowing empty mail address to be mapped in .mailmap we won't have to handle
3
4
  # them manually.
@@ -14,8 +15,8 @@ task :authors do
14
15
  io.puts "Following persons have contributed to #{GEMSPEC.name}."
15
16
  io.puts '(Sorted by number of submitted patches, then alphabetically)'
16
17
  io.puts ''
17
- authors.sort_by{|(n,e),c| [-c, n.downcase] }.each do |(name, email), count|
18
- io.puts("%6d %s <%s>" % [count, name, email])
18
+ authors.sort_by { |(n, _e), c| [-c, n.downcase] }.each do |(name, email), count|
19
+ io.puts('%6d %s <%s>' % [count, name, email])
19
20
  end
20
21
  end
21
22
  end
@@ -1,5 +1,6 @@
1
+ # frozen_string_literal: true
1
2
  desc 'Run all bacon specs with pretty output'
2
- task :bacon => :setup do
3
+ task :bacon do
3
4
  require 'open3'
4
5
  require 'scanf'
5
6
  require 'matrix'
@@ -8,24 +9,25 @@ task :bacon => :setup do
8
9
 
9
10
  some_failed = false
10
11
  specs_size = specs.size
11
- len = specs.map{|s| s.size }.sort.last
12
- total_tests = total_assertions = total_failures = total_errors = 0
12
+ len = specs.map(&:size).sort.last
13
13
  totals = Vector[0, 0, 0, 0]
14
14
 
15
- red, yellow, green = "\e[31m%s\e[0m", "\e[33m%s\e[0m", "\e[32m%s\e[0m"
15
+ red = "\e[31m%s\e[0m"
16
+ yellow = "\e[33m%s\e[0m"
17
+ green = "\e[32m%s\e[0m"
16
18
  left_format = "%4d/%d: %-#{len + 11}s"
17
- spec_format = "%d specifications (%d requirements), %d failures, %d errors"
19
+ spec_format = '%d specifications (%d requirements), %d failures, %d errors'
18
20
 
19
21
  specs.each_with_index do |spec, idx|
20
22
  print(left_format % [idx + 1, specs_size, spec])
21
23
 
22
- Open3.popen3(RUBY, spec) do |sin, sout, serr|
24
+ Open3.popen3(FileUtils::RUBY, spec) do |_sin, sout, serr|
23
25
  out = sout.read.strip
24
26
  err = serr.read.strip
25
27
 
26
28
  # this is conventional, see spec/innate/state/fiber.rb for usage
27
29
  if out =~ /^Bacon::Error: (needed .*)/
28
- puts(yellow % ("%6s %s" % ['', $1]))
30
+ puts(yellow % ('%6s %s' % ['', Regexp.last_match(1)]))
29
31
  else
30
32
  total = nil
31
33
 
@@ -40,19 +42,19 @@ task :bacon => :setup do
40
42
 
41
43
  if total
42
44
  totals += total
43
- tests, assertions, failures, errors = total_array = total.to_a
45
+ tests, _, failures, errors = total.to_a
44
46
 
45
47
  if tests > 0 && failures + errors == 0
46
- puts((green % "%6d passed") % tests)
48
+ puts((green % '%6d passed') % tests)
47
49
  else
48
50
  some_failed = true
49
- puts(red % " failed")
51
+ puts(red % ' failed')
50
52
  puts out unless out.empty?
51
53
  puts err unless err.empty?
52
54
  end
53
55
  else
54
56
  some_failed = true
55
- puts(red % " failed")
57
+ puts(red % ' failed')
56
58
  puts out unless out.empty?
57
59
  puts err unless err.empty?
58
60
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  desc 'update changelog'
2
3
  task :changelog do
3
4
  File.open('CHANGELOG', 'w+') do |changelog|
@@ -1,22 +1,24 @@
1
- require 'rake/gempackagetask'
1
+ # frozen_string_literal: true
2
+ require 'rubygems'
3
+ require 'rubygems/package_task'
2
4
 
3
- task :gemspec => [:manifest, :changelog] do
5
+ task gemspec: [:manifest, :changelog] do
4
6
  gemspec_file = "#{GEMSPEC.name}.gemspec"
5
- File.open(gemspec_file, 'w+'){|gs| gs.puts(GEMSPEC.to_ruby) }
7
+ File.open(gemspec_file, 'w+') { |gs| gs.puts(GEMSPEC.to_ruby) }
6
8
  end
7
9
 
8
- desc "package and install from gemspec"
9
- task :install => [:gemspec] do
10
- sh "gem build #{GEMSPEC.name}.gemspec"
11
- sh "gem install #{GEMSPEC.name}-#{GEMSPEC.version}.gem"
10
+ desc 'package and install from gemspec'
11
+ task install: [:gemspec] do
12
+ sh 'gem', 'build', "#{GEMSPEC.name}.gemspec"
13
+ sh 'gem', 'install', "#{GEMSPEC.name}-#{GEMSPEC.version}.gem"
12
14
  end
13
15
 
14
- desc "uninstall the gem"
15
- task :uninstall => [:clean] do
16
- sh %{gem uninstall -x #{GEMSPEC.name}}
16
+ desc 'uninstall the gem'
17
+ task uninstall: [:clean] do
18
+ sh %(gem uninstall -x #{GEMSPEC.name})
17
19
  end
18
20
 
19
- Rake::GemPackageTask.new(GEMSPEC) do |p|
21
+ Gem::PackageTask.new(GEMSPEC) do |p|
20
22
  p.need_tar = true
21
23
  p.need_zip = true
22
24
  end
@@ -1,4 +1,5 @@
1
+ # frozen_string_literal: true
1
2
  desc 'update manifest'
2
3
  task :manifest do
3
- File.open('MANIFEST', 'w+'){|io| io.puts(*GEMSPEC.files) }
4
+ File.open('MANIFEST', 'w+') { |io| io.puts(*GEMSPEC.files) }
4
5
  end
@@ -1,10 +1,12 @@
1
+ # frozen_string_literal: true
1
2
  namespace :release do
2
- task :prepare => [:reversion, :authors, :gemspec]
3
- task :all => ['release:github', 'release:rubyforge', 'release:gemcutter']
3
+ task prepare: [:reversion, :authors, :gemspec]
4
+ task all: ['release:github', 'release:rubygems']
4
5
 
5
6
  desc 'Release on github'
6
- task :github => :prepare do
7
- name, version = GEMSPEC.name, GEMSPEC.version
7
+ task github: :prepare do
8
+ name = GEMSPEC.name
9
+ version = GEMSPEC.version
8
10
 
9
11
  sh('git', 'add',
10
12
  'MANIFEST', 'CHANGELOG', 'AUTHORS',
@@ -24,38 +26,15 @@ git push
24
26
  INSTRUCTIONS
25
27
  end
26
28
 
27
- desc 'Release on rubyforge'
28
- task :rubyforge => ['release:prepare', :package] do
29
- name, version = GEMSPEC.name, GEMSPEC.version
30
-
31
- pkgs = Dir["pkg/#{name}-#{version}.{tgz,zip}"].map{|file|
32
- "rubyforge add_file #{name} #{name} '#{version}' '#{file}'"
33
- }
34
-
35
- puts <<-INSTRUCTIONS
36
- ================================================================================
37
-
38
- To publish to rubyforge do following:
39
-
40
- rubyforge login
41
- rubyforge add_release #{name} #{name} '#{version}' pkg/#{name}-#{version}.gem
42
-
43
- To publish the archives for distro packagers:
44
-
45
- #{pkgs.join "\n"}
46
-
47
- ================================================================================
48
- INSTRUCTIONS
49
- end
50
-
51
- desc 'Release on gemcutter'
52
- task :gemcutter => ['release:prepare', :package] do
53
- name, version = GEMSPEC.name, GEMSPEC.version
29
+ desc 'Release on rubygems'
30
+ task rubygems: ['release:prepare', :package] do
31
+ name = GEMSPEC.name
32
+ version = GEMSPEC.version
54
33
 
55
34
  puts <<-INSTRUCTIONS
56
35
  ================================================================================
57
36
 
58
- To publish to gemcutter do following:
37
+ To publish to rubygems do following:
59
38
 
60
39
  gem push pkg/#{name}-#{version}.gem
61
40
 
@@ -1,4 +1,5 @@
1
- desc "update version.rb"
1
+ # frozen_string_literal: true
2
+ desc 'update version.rb'
2
3
  task :reversion do
3
4
  File.open("lib/#{GEMSPEC.name}/version.rb", 'w+') do |file|
4
5
  file.puts("module #{PROJECT_MODULE}")
metadata CHANGED
@@ -1,64 +1,56 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: ffi-tk
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 2010
7
- - 8
8
- - 23
9
- version: 2010.08.23
3
+ version: !ruby/object:Gem::Version
4
+ version: 2018.02.20
10
5
  platform: ruby
11
- authors:
6
+ authors:
12
7
  - Michael 'manveru' Fellinger
13
8
  autorequire:
14
9
  bindir: bin
15
10
  cert_chain: []
16
-
17
- date: 2010-08-23 00:00:00 +09:00
18
- default_executable:
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
11
+ date: 2018-02-20 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
21
14
  name: ffi
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- none: false
25
- requirements:
26
- - - "="
27
- - !ruby/object:Gem::Version
28
- segments:
29
- - 0
30
- - 6
31
- - 3
32
- version: 0.6.3
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.9'
33
20
  type: :runtime
34
- version_requirements: *id001
35
- - !ruby/object:Gem::Dependency
36
- name: bacon
37
21
  prerelease: false
38
- requirement: &id002 !ruby/object:Gem::Requirement
39
- none: false
40
- requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- segments:
44
- - 1
45
- - 1
46
- - 0
47
- version: 1.1.0
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.9'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bacon
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.2'
48
34
  type: :development
49
- version_requirements: *id002
50
- description: Pure Ruby FFI wrapper for the Tk GUI toolkit.
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.2'
41
+ description: Comfortably talk with Tcl/Tk using FFI.
51
42
  email: m.fellinger@gmail.com
52
43
  executables: []
53
-
54
44
  extensions: []
55
-
56
45
  extra_rdoc_files: []
57
-
58
- files:
59
- - .gitignore
46
+ files:
47
+ - ".gitignore"
48
+ - ".rubocop.yml"
49
+ - ".rubocop_todo.yml"
60
50
  - AUTHORS
61
51
  - CHANGELOG
52
+ - Gemfile
53
+ - Gemfile.lock
62
54
  - MANIFEST
63
55
  - README.md
64
56
  - Rakefile
@@ -85,6 +77,7 @@ files:
85
77
  - example/various.rb
86
78
  - example/wait.rb
87
79
  - ffi-tk.gemspec
80
+ - gemset.nix
88
81
  - lib/ffi-tk.rb
89
82
  - lib/ffi-tk/command.rb
90
83
  - lib/ffi-tk/command/after.rb
@@ -186,11 +179,11 @@ files:
186
179
  - lib/ffi-tk/widget/tile/style.rb
187
180
  - lib/ffi-tk/widget/tile/treeview.rb
188
181
  - lib/ffi-tk/widget/toplevel.rb
182
+ - shell.nix
189
183
  - spec/ffi-tk/command/bind.rb
190
184
  - spec/ffi-tk/command/bindtags.rb
191
185
  - spec/ffi-tk/command/clipboard.rb
192
186
  - spec/ffi-tk/command/font.rb
193
- - spec/ffi-tk/command/grid.rb
194
187
  - spec/ffi-tk/command/image.rb
195
188
  - spec/ffi-tk/command/pack.rb
196
189
  - spec/ffi-tk/command/place.rb
@@ -242,47 +235,31 @@ files:
242
235
  - tasks/bacon.rake
243
236
  - tasks/changelog.rake
244
237
  - tasks/gem.rake
245
- - tasks/gem_setup.rake
246
- - tasks/grancher.rake
247
238
  - tasks/manifest.rake
248
- - tasks/rcov.rake
249
239
  - tasks/release.rake
250
240
  - tasks/reversion.rake
251
- - tasks/setup.rake
252
- - tasks/ycov.rake
253
- has_rdoc: true
254
241
  homepage: http://github.com/manveru/ffi-tk
255
- licenses: []
256
-
242
+ licenses:
243
+ - MIT
244
+ metadata: {}
257
245
  post_install_message:
258
246
  rdoc_options: []
259
-
260
- require_paths:
247
+ require_paths:
261
248
  - lib
262
- required_ruby_version: !ruby/object:Gem::Requirement
263
- none: false
264
- requirements:
249
+ required_ruby_version: !ruby/object:Gem::Requirement
250
+ requirements:
265
251
  - - ">="
266
- - !ruby/object:Gem::Version
267
- segments:
268
- - 0
269
- version: "0"
270
- required_rubygems_version: !ruby/object:Gem::Requirement
271
- none: false
272
- requirements:
252
+ - !ruby/object:Gem::Version
253
+ version: '0'
254
+ required_rubygems_version: !ruby/object:Gem::Requirement
255
+ requirements:
273
256
  - - ">="
274
- - !ruby/object:Gem::Version
275
- segments:
276
- - 1
277
- - 3
278
- - 3
257
+ - !ruby/object:Gem::Version
279
258
  version: 1.3.3
280
259
  requirements: []
281
-
282
260
  rubyforge_project:
283
- rubygems_version: 1.3.7
261
+ rubygems_version: 2.6.13
284
262
  signing_key:
285
- specification_version: 3
263
+ specification_version: 4
286
264
  summary: Pure Ruby FFI wrapper for the Tk GUI toolkit.
287
265
  test_files: []
288
-
@@ -1,6 +0,0 @@
1
- require_relative '../../helper'
2
-
3
- Tk.init
4
-
5
- describe Tk::Grid do
6
- end
@@ -1,113 +0,0 @@
1
- task :gem_setup do
2
- class GemSetup
3
- def initialize(options = {}, &block)
4
- @gems = []
5
- @options = options.dup
6
- @verbose = @options.delete(:verbose)
7
-
8
- run(&block)
9
- end
10
-
11
- def run(&block)
12
- return unless block_given?
13
- instance_eval(&block)
14
- setup
15
- end
16
-
17
- def gem(name, version = nil, options = {})
18
- if version.respond_to?(:merge!)
19
- options = version
20
- else
21
- options[:version] = version
22
- end
23
-
24
- @gems << [name, options]
25
- end
26
-
27
- # all gems defined, let's try to load/install them
28
- def setup
29
- require 'rubygems'
30
- require 'rubygems/dependency_installer'
31
-
32
- @gems.each do |name, options|
33
- setup_gem(name, options)
34
- end
35
- end
36
-
37
- def setup_gemspec(gemspec)
38
- gemspec.dependencies.each do |dependency|
39
- dependency.version_requirements.as_list.each do |version|
40
- gem(dependency.name, version)
41
- end
42
- end
43
-
44
- setup
45
- end
46
-
47
- # First try to activate.
48
- # If activation fails, try to install and activate again.
49
- # If the second activation also fails, try to require as it may just as
50
- # well be in $LOAD_PATH.
51
- def setup_gem(name, options)
52
- version = [options[:version]].compact
53
- lib_name = options[:lib] || name
54
-
55
- log "activating #{name}"
56
-
57
- Gem.activate(name, *version)
58
- rescue Gem::LoadError
59
- log "activating #{name} failed, try to install"
60
-
61
- install_gem(name, version, options)
62
- end
63
-
64
- # tell rubygems to install a gem
65
- def install_gem(name, version, options)
66
- installer = Gem::DependencyInstaller.new(options)
67
-
68
- temp_argv(options[:extconf]) do
69
- log "installing #{name}"
70
- installer.install(name, *version)
71
- end
72
-
73
- Gem.activate(name, *version)
74
-
75
- log "install and final activation successful"
76
- rescue Gem::GemNotFoundException => ex
77
- log "installation failed: #{ex}, use normal require"
78
-
79
- require(options[:lib] || name)
80
-
81
- log "require successful, cannot verify version though"
82
- end
83
-
84
- # prepare ARGV for rubygems installer
85
- def temp_argv(extconf)
86
- if extconf ||= @options[:extconf]
87
- old_argv = ARGV.clone
88
- ARGV.replace(extconf.split(' '))
89
- end
90
-
91
- yield
92
-
93
- ensure
94
- ARGV.replace(old_argv) if extconf
95
- end
96
-
97
- private
98
-
99
- def log(msg)
100
- return unless @verbose
101
-
102
- if defined?(Log)
103
- Log.info(msg)
104
- else
105
- puts(msg)
106
- end
107
- end
108
-
109
- def rubyforge; 'http://gems.rubyforge.org/' end
110
- def github; 'http://gems.github.com/' end
111
- def gemcutter; 'http://gemcutter.org' end
112
- end
113
- end