yanapiri 0.4.0 → 0.4.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dddfec46b22192f03ce76dfc7e5edd1123b19fe5fe01a36085f9cfe9ba84d2e9
4
- data.tar.gz: 9b0862c9821ef7607b08856db8a80d80ceb061d03dce1a29c3dfcdfc62749260
3
+ metadata.gz: 8e288ec4bbb3f9a47c851c93e423ff4cb6ede778ec00bfe7fc60048c987c1ef5
4
+ data.tar.gz: 19039293ca505e26707b100516c1e44105e652a3c3a7212bae34281a92be91d0
5
5
  SHA512:
6
- metadata.gz: c7a4ed25e2ad9ff0dcddbed6082ca4b77761259c3888aad37b5a258784d605643847eeb5df04983f4458157c75e931ef8cf11cc47c9385c603e5117786d3c1cc
7
- data.tar.gz: f23e8c0839c0f25281323a3ac6ed17c6fa18efd31c17799d1704c272ff72ca3f656d859f3c4368c05035c5c5ffe343d71a6b7eea4b61d5ea50c130710510fd7c
6
+ metadata.gz: 830d0aa13bf24f870f6f4d271ca00edd719ff118ada4fbe2b21b0be20b425778d239f0a457f270ddacba1f423d64f461ab4c160a9ad2c186716f27d2789f0c9f
7
+ data.tar.gz: 375b90d3b5d5744ffe5f9a9de9fa613c894c25d8fb1dfa6e730687ea473ddf107ac70cf2b7d05c2a761ea5b5e37e8b14edc5d4085f3e5d09652c04abf5d90e30
data/Rakefile CHANGED
@@ -1,6 +1,8 @@
1
1
  require "bundler/gem_tasks"
2
2
  require "rspec/core/rake_task"
3
+ require "bump/tasks"
3
4
 
4
5
  RSpec::Core::RakeTask.new(:spec)
6
+ Bump.tag_by_default = true
5
7
 
6
8
  task :default => :spec
@@ -214,7 +214,7 @@ es-AR:
214
214
  am: am
215
215
  formats:
216
216
  default: "%a, %d de %b de %Y a las %H:%M:%S %Z"
217
- human: "%d/%m/%Y a las %H:%M"
217
+ human: "el %d/%m/%Y a las %H:%M"
218
218
  long: "%A, %d de %B de %Y a las %I:%M %p"
219
219
  short: "%d de %b a las %H:%M hrs"
220
220
  pm: pm
data/lib/yanapiri.rb CHANGED
@@ -7,11 +7,12 @@ require 'active_support/all'
7
7
  require 'action_view'
8
8
  require 'action_view/helpers'
9
9
 
10
- require_relative './yanapiri/version'
11
- require_relative './yanapiri/entrega'
12
10
  require_relative './yanapiri/bot'
13
- require_relative './yanapiri/transformacion_wollok'
14
11
  require_relative './yanapiri/cli'
12
+ require_relative './yanapiri/entrega'
13
+ require_relative './yanapiri/multi_source_config'
14
+ require_relative './yanapiri/transformacion_wollok'
15
+ require_relative './yanapiri/version'
15
16
 
16
17
  module Yanapiri
17
18
  end
data/lib/yanapiri/cli.rb CHANGED
@@ -44,7 +44,7 @@ module Yanapiri
44
44
  config = OpenStruct.new
45
45
  config.orga = ask 'Nombre de la organización:', default: File.basename(Dir.pwd)
46
46
  leer_opciones_comunes! config
47
- success "De ahora en más, trabajaré con la organización #{config.orga} siempre que estés dentro de esta carpeta. Al corregir, utilizaré el modo #{config.modo_estricto ? 'estricto' : 'relajado'} y #{config.renombrar_proyecto_wollok ? '' : 'no '}renombraré los proyectos Wollok."
47
+ success "De ahora en más, trabajaré con la organización #{config.orga} siempre que estés dentro de esta carpeta. #{opciones_correccion config}"
48
48
  dump_local_config! config
49
49
  end
50
50
 
@@ -83,9 +83,10 @@ module Yanapiri
83
83
  desc 'corregir [ENTREGA]', 'Prepara la entrega para la corrección, creando los archivos y el pull request'
84
84
  option :commit_base, {required: true, aliases: :b}
85
85
  option :fecha_limite, {default: Time.now.to_s, aliases: :l}
86
- option :renombrar_proyecto_wollok, {type: :boolean, default: true}
87
- option :modo_estricto, {type: :boolean, default: false}
86
+ option :renombrar_proyecto_wollok, {type: :boolean}
87
+ option :modo_estricto, {type: :boolean}
88
88
  def corregir(nombre)
89
+ info "Comenzando corrección de #{nombre}. #{opciones_correccion}"
89
90
  foreach_entrega(nombre) do |entrega|
90
91
  @bot.preparar_correccion! entrega, options.renombrar_proyecto_wollok ? [TransformacionWollok] : []
91
92
  end
@@ -104,6 +105,10 @@ module Yanapiri
104
105
  end
105
106
 
106
107
  no_commands do
108
+ def opciones_correccion(config = options)
109
+ "Al corregir, utilizaré el modo #{config.modo_estricto ? 'estricto' : 'relajado'} y #{config.renombrar_proyecto_wollok ? '' : 'no '}renombraré los proyectos Wollok."
110
+ end
111
+
107
112
  def crear_bot(config)
108
113
  Bot.new config.orga, Octokit::Client.new(access_token: config.github_token)
109
114
  end
@@ -135,7 +140,9 @@ module Yanapiri
135
140
 
136
141
  def foreach_entrega(nombre)
137
142
  foreach_repo(nombre) do |repo, base_path|
138
- yield Entrega.new "#{base_path}/#{repo}", options.commit_base, Time.parse(options.fecha_limite), options.modo_estricto
143
+ entrega = Entrega.new "#{base_path}/#{repo}", options.commit_base, Time.parse(options.fecha_limite), options.modo_estricto
144
+ debug "Trabajando con #{entrega}..."
145
+ yield entrega
139
146
  end
140
147
  end
141
148
 
@@ -182,7 +189,8 @@ module Yanapiri
182
189
  original_options = super
183
190
  defaults_global = load_config global_config_file
184
191
  defaults_local = load_config local_config_file
185
- Thor::CoreExt::HashWithIndifferentAccess.new defaults_global.merge(defaults_local).merge(original_options)
192
+
193
+ MultiSourceConfig.new defaults_global, defaults_local, original_options
186
194
  end
187
195
 
188
196
  def raise(message)
@@ -192,6 +200,14 @@ module Yanapiri
192
200
  def success(message)
193
201
  say "Yuspagara. #{message}", :green
194
202
  end
203
+
204
+ def info(message)
205
+ say message, :yellow
206
+ end
207
+
208
+ def debug(message)
209
+ say message, :clear
210
+ end
195
211
  end
196
212
  end
197
213
  end
@@ -45,6 +45,17 @@ module Yanapiri
45
45
  crear_branch! 'base', commit_base
46
46
  end
47
47
 
48
+ def to_s
49
+ string = "entrega de @#{autor}, "
50
+ string << if hay_cambios? then "modificada por última vez #{formato_humano fecha}" else "sin cambios" end
51
+ string << ' (fuera de término)' if fuera_de_termino?
52
+ string
53
+ end
54
+
55
+ def formato_humano(fecha)
56
+ I18n.l(fecha, format: :human)
57
+ end
58
+
48
59
  private
49
60
 
50
61
  def crear_branch!(nombre, head)
@@ -64,13 +75,7 @@ module Yanapiri
64
75
  end
65
76
 
66
77
  def mensaje_fuera_de_termino
67
- "**Ojo:** tu último commit fue el #{formato_humano fecha}, pero la fecha límite era el #{formato_humano fecha_limite}.\n\n¡Tenés que respetar la fecha de entrega establecida! :point_up:"
68
- end
69
-
70
- private
71
-
72
- def formato_humano(fecha)
73
- I18n.l(fecha, format: :human)
78
+ "**Ojo:** tu último commit fue #{formato_humano fecha}, pero la fecha límite era #{formato_humano fecha_limite}.\n\n¡Tenés que respetar la fecha de entrega establecida! :point_up:"
74
79
  end
75
80
  end
76
81
 
@@ -0,0 +1,7 @@
1
+ module Yanapiri
2
+ class MultiSourceConfig < Thor::CoreExt::HashWithIndifferentAccess
3
+ def initialize(first, *others)
4
+ super others.inject(first, &:merge)
5
+ end
6
+ end
7
+ end
@@ -1,3 +1,3 @@
1
1
  module Yanapiri
2
- VERSION = "0.4.0"
2
+ VERSION = "0.4.1"
3
3
  end
data/yanapiri.gemspec CHANGED
@@ -28,6 +28,7 @@ Gem::Specification.new do |spec|
28
28
  spec.add_dependency "actionview", '~> 5.2'
29
29
 
30
30
  spec.add_development_dependency "bundler", "~> 2.0"
31
+ spec.add_development_dependency "bump", "~> 0.8"
31
32
  spec.add_development_dependency "rake", "~> 10.0"
32
33
  spec.add_development_dependency "rspec", "~> 3.0"
33
34
  spec.add_development_dependency "guard", "~> 2.0"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yanapiri
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Federico Aloi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-05-15 00:00:00.000000000 Z
11
+ date: 2019-05-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -94,6 +94,20 @@ dependencies:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '2.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: bump
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '0.8'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '0.8'
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: rake
99
113
  requirement: !ruby/object:Gem::Requirement
@@ -176,6 +190,7 @@ files:
176
190
  - lib/yanapiri/bot.rb
177
191
  - lib/yanapiri/cli.rb
178
192
  - lib/yanapiri/entrega.rb
193
+ - lib/yanapiri/multi_source_config.rb
179
194
  - lib/yanapiri/transformacion_wollok.rb
180
195
  - lib/yanapiri/version.rb
181
196
  - yanapiri.gemspec