ellipses 0.0.2 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 34157f9b5097111044ad7b6dd6ab60ab1bbbc7923f3e1a642b735160631904bd
4
- data.tar.gz: eaffa7b909ca61f31fcb7bde01b5af3b38b341451fe577ca2a4aaf96070f399f
3
+ metadata.gz: eab205b89fc5d9d7a2689c8c707355bb679c4ccc839fe3ffc203426bc2cb028a
4
+ data.tar.gz: 21c692bf1c0d82f12b5aae17ec83f42a73bf1e3fc5291d027c94a24c0bcc6851
5
5
  SHA512:
6
- metadata.gz: 479c72da555ee40d94e9fbcbc7482e966167300e2bec6db40f875e88ee7e055ee5aa7636bb4d976c967e428f6eb23a6346a4df247adabac1fe2f68a80454efac
7
- data.tar.gz: 99379b733d5aade6d3f2cfa1cfe31ff4a3a5e2f93dd1596b1a0ab004d38255b21f1782418ad80c8219fbbee0af72a0e9444cca6298cec9f0fd5543beb674ab47
6
+ metadata.gz: 26cd3ba53d1974044448590015f044262545dc51a631f11952db19bcbea18dd21b8aa90e0b658307f3a17bf11fc39d6c4d1141ea0837324a8abf36a2489db8ae
7
+ data.tar.gz: 843d62d51c2b8916a9f3e416b69b7d51829dd534d35316a3da01889d4be6d52a7b0d9d7a8082c63b5a2b6549d179ea7ac6e975d0fc3342de0b98855f3bb12213
data/BEN/304/260OKU.md CHANGED
@@ -13,7 +13,11 @@ Proje ayrıntıları için [Geliştirme dokümanlarına](.local/BENİOKU.md) gö
13
13
  Kurulum
14
14
  --------
15
15
 
16
- Yayınlanan [Gem paketini](https://github.com/alaturka/ellipses/packages) kurmanız yeterlidir.
16
+ Yayınlanan Gem paketini kurmanız yeterlidir.
17
+
18
+ ```sh
19
+ gem install ellipses
20
+ ```
17
21
 
18
22
  Kullanım
19
23
  --------
data/CHANGELOG.md CHANGED
@@ -3,6 +3,19 @@ Changelog
3
3
 
4
4
  All notable changes to this project will be documented in this file.
5
5
 
6
+ [0.1.0] - 2021-12-25
7
+ --------------------
8
+
9
+ ### Changed
10
+
11
+ - (client) For LFH, use `.local/etc/src.lock` instead of `.local/var/src.lock`
12
+
13
+ ### Fixed
14
+
15
+ - (client) Handle dot paths correctly
16
+
17
+ - (server) Fix error message coming from TOML parser
18
+
6
19
  [0.0.2] - 2021-06-07
7
20
  --------------------
8
21
 
data/ellipses.gemspec CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.push File.expand_path('lib', __dir__)
4
4
 
5
5
  require 'ellipses/version'
6
6
 
7
- Gem::Specification.new do |s| # rubocop:disable Metrics/BlockLength
7
+ Gem::Specification.new do |s|
8
8
  s.name = 'ellipses'
9
9
  s.author = 'Recai Oktaş'
10
10
  s.email = 'roktas@gmail.com'
@@ -27,13 +27,7 @@ Gem::Specification.new do |s| # rubocop:disable Metrics/BlockLength
27
27
  s.add_dependency 'dry-cli'
28
28
  s.add_dependency 'tomlrb'
29
29
 
30
- s.add_development_dependency 'bundler'
31
- s.add_development_dependency 'minitest-focus', '>= 1.2.1'
32
- s.add_development_dependency 'minitest-reporters', '>= 1.4.3'
33
- s.add_development_dependency 'rake'
34
- s.add_development_dependency 'rubocop'
35
- s.add_development_dependency 'rubocop-minitest'
36
- s.add_development_dependency 'rubocop-performance'
37
- s.add_development_dependency 'rubocop-rake'
38
- s.add_development_dependency 'rubygems-tasks'
30
+ s.metadata = {
31
+ 'rubygems_mfa_required' => 'true'
32
+ }
39
33
  end
@@ -3,12 +3,12 @@
3
3
  module Ellipses
4
4
  module Client
5
5
  class Application
6
- attr_reader :config, :repository, :loader
6
+ attr_reader :loader, :paths, :repository
7
7
 
8
- def initialize(loader: nil, repository: nil, **options)
9
- @config = Config.new(**options)
10
- @loader = loader || MetaFile.new
11
- @repository = repository || Repository.new(@loader, @config)
8
+ def initialize(loader: nil, repository: nil, paths: nil)
9
+ @loader = loader || MetaFile.new
10
+ @paths = locate(paths)
11
+ @repository = repository || Repository.new(@loader, @paths)
12
12
  end
13
13
 
14
14
  def init(directory)
@@ -66,9 +66,16 @@ module Ellipses
66
66
  repository.load(loader)
67
67
  end
68
68
 
69
+ def locate(paths)
70
+ environment = %w[ELLIPSES_PATH SRCPATH].find { |env| ENV.key? env }
71
+ paths_from_environment = environment ? ENV[environment].split(':') : []
72
+
73
+ [*(paths || []), loader.directory, *paths_from_environment].compact.uniq.select { |path| File.directory?(path) }
74
+ end
75
+
69
76
  class << self
70
77
  %i[init compile compile! decompile decompile! update].each do |meth|
71
- define_method(meth) { |*args, **options| new(**options).public_send(meth, *args) }
78
+ define_method(meth) { |*args, **kwargs| new(**kwargs).public_send(meth, *args) }
72
79
  end
73
80
  end
74
81
  end
@@ -5,7 +5,7 @@ require 'json'
5
5
  module Ellipses
6
6
  module Client
7
7
  class MetaFile
8
- FILES = %w[.local/var/src.lock src.lock .src.lock].freeze
8
+ FILES = %w[.local/etc/src.lock src.lock .src.lock].freeze
9
9
  EMPTY = "[]\n"
10
10
 
11
11
  def self.create(directory)
@@ -17,11 +17,11 @@ module Ellipses
17
17
 
18
18
  private_constant :File
19
19
 
20
- attr_reader :loader, :config
20
+ attr_reader :loader, :paths
21
21
 
22
- def initialize(loader, config)
22
+ def initialize(loader, paths)
23
23
  @loader = loader
24
- @config = config
24
+ @paths = paths
25
25
  @files = {}
26
26
  @memo = {}
27
27
  end
@@ -36,7 +36,7 @@ module Ellipses
36
36
 
37
37
  def load(loader)
38
38
  Dir.chdir loader.directory do
39
- loader.read.each { |meta| register_internal(meta.source, Source.from_file(meta.source, config, meta.series)) }
39
+ loader.read.each { |meta| register_internal(meta.source, Source.from_file(meta.source, paths, meta.series)) }
40
40
  end
41
41
  end
42
42
 
@@ -64,7 +64,7 @@ module Ellipses
64
64
  return @files[key].tap { |file| file.registered = true }.source
65
65
  end
66
66
 
67
- register_internal(key, Source.from_file(path, config))
67
+ register_internal(key, Source.from_file(path, paths))
68
68
  end
69
69
 
70
70
  def unregister(path)
@@ -60,9 +60,9 @@ module Ellipses
60
60
  end
61
61
 
62
62
  class << self
63
- def from_file(file, config, series = nil)
63
+ def from_file(file, paths, series = nil)
64
64
  lines = File.readlines(Support.file!(file, error: Error)).lazy
65
- new lines, series, Server::Application.new(config.paths)
65
+ new lines, series, Server::Application.new(paths)
66
66
  end
67
67
  end
68
68
  end
@@ -11,7 +11,6 @@ require_relative 'client/source'
11
11
  require_relative 'client/meta'
12
12
  require_relative 'client/meta_file'
13
13
  require_relative 'client/repository'
14
- require_relative 'client/config'
15
14
  require_relative 'client/application'
16
15
 
17
16
  require_relative 'client/commands'
@@ -23,7 +23,11 @@ module Ellipses
23
23
  def read
24
24
  Meta.new Tomlrb.load_file(@file)
25
25
  rescue StandardError => e
26
- raise Error, "Error while loading meta file: #{file}: #{e.message}"
26
+ raise Error, <<~MSG
27
+ Error loading meta file: #{@file}
28
+
29
+ #{e.message.strip}
30
+ MSG
27
31
  end
28
32
 
29
33
  class << self
@@ -11,7 +11,7 @@ module Ellipses
11
11
  .group_by(&:to_s)
12
12
  .values
13
13
  .map { |x| x.length / string.length.to_f }
14
- .reduce(0) { |e, x| e - x * Math.log2(x) }
14
+ .reduce(0) { |e, x| e - (x * Math.log2(x)) }
15
15
  end
16
16
  end
17
17
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Ellipses
4
- VERSION = '0.0.2'
4
+ VERSION = '0.1.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ellipses
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Recai Oktaş
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-07 00:00:00.000000000 Z
11
+ date: 2021-12-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dry-cli
@@ -38,132 +38,6 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: bundler
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: minitest-focus
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: 1.2.1
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: 1.2.1
69
- - !ruby/object:Gem::Dependency
70
- name: minitest-reporters
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: 1.4.3
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: 1.4.3
83
- - !ruby/object:Gem::Dependency
84
- name: rake
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: rubocop
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: rubocop-minitest
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: '0'
125
- - !ruby/object:Gem::Dependency
126
- name: rubocop-performance
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
- - !ruby/object:Gem::Dependency
140
- name: rubocop-rake
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - ">="
144
- - !ruby/object:Gem::Version
145
- version: '0'
146
- type: :development
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - ">="
151
- - !ruby/object:Gem::Version
152
- version: '0'
153
- - !ruby/object:Gem::Dependency
154
- name: rubygems-tasks
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - ">="
158
- - !ruby/object:Gem::Version
159
- version: '0'
160
- type: :development
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - ">="
165
- - !ruby/object:Gem::Version
166
- version: '0'
167
41
  description: Ellipses
168
42
  email: roktas@gmail.com
169
43
  executables:
@@ -198,7 +72,6 @@ files:
198
72
  - lib/ellipses/client/commands/select.rb
199
73
  - lib/ellipses/client/commands/substitute.rb
200
74
  - lib/ellipses/client/commands/translate.rb
201
- - lib/ellipses/client/config.rb
202
75
  - lib/ellipses/client/directive.rb
203
76
  - lib/ellipses/client/error.rb
204
77
  - lib/ellipses/client/lines.rb
@@ -239,9 +112,7 @@ homepage: https://alaturka.github.io/ellipses
239
112
  licenses:
240
113
  - GPL-3.0-or-later
241
114
  metadata:
242
- changelog_uri: https://github.com/alaturka/ellipses/blob/master/CHANGELOG.md
243
- source_code_uri: https://github.com/alaturka/ellipses
244
- bug_tracker_uri: https://github.com/alaturka/ellipses/issues
115
+ rubygems_mfa_required: 'true'
245
116
  post_install_message:
246
117
  rdoc_options: []
247
118
  require_paths:
@@ -257,7 +128,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
257
128
  - !ruby/object:Gem::Version
258
129
  version: '0'
259
130
  requirements: []
260
- rubygems_version: 3.2.17
131
+ rubygems_version: 3.2.26
261
132
  signing_key:
262
133
  specification_version: 4
263
134
  summary: Ellipses
@@ -1,33 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'forwardable'
4
-
5
- module Ellipses
6
- module Client
7
- class Config
8
- extend Forwardable
9
-
10
- def_delegators :@config, *%i[paths]
11
-
12
- def initialize(**options)
13
- @config = build OpenStruct.new(options.compact)
14
- end
15
-
16
- private
17
-
18
- def default_paths
19
- environment = %w[ELLIPSES_PATH SRCPATH].find { |env| ENV.key? env }
20
- paths = environment ? ENV[environment].split(':') : []
21
-
22
- ['.', *paths]
23
- end
24
-
25
- def build(config)
26
- config.paths = default_paths if !config.paths || config.paths.empty?
27
- config.paths.compact!
28
-
29
- config
30
- end
31
- end
32
- end
33
- end