llmed 0.3.16 → 0.3.17

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: 3d5362d8a48de51f33d6cc43bdd166387d7d36f0242cca147c126da4678721fc
4
- data.tar.gz: 25d0960a155f4c8abb600eae9853b28215808635a4d0da812f381db31bf74a1a
3
+ metadata.gz: 52b2451c2b753bce4e00ee940d19d61f299b95dbf78503f6338b12732ec90e34
4
+ data.tar.gz: 59b763a108c1823fe8a81517386a5cc11d7a41d3171aab09d0d977baf4154f6d
5
5
  SHA512:
6
- metadata.gz: d9fbca340377b6b8370426839faa236ce23b803870651d00da2d2c719ded31cbd4d5a9929fd8855fd486bb79f60780f13acc3f82b228e29d4df5ebdd8fcf9d5c
7
- data.tar.gz: 697c10a3fd025fc31cb3e8ef0f33765eb686ebf6fb174f33bbc79a51eed1020615489a33cd0557b97b058ab10badc446c3e74665deb6ccc448ffabbd4dddaa96
6
+ metadata.gz: 72e2cb9a8e97fcb9025a4c830e37b637a92cc0a0a997715fc1e60456d62b2fec337c0c57f85d03ff14488aa038b45737f2e8204714c6c425925bd78cfef64efe
7
+ data.tar.gz: 90b0df91f71029a50fe254b851799e201bb6b26170d2c9ebb5beb71085d1c272357d2568527ea2cc3b16179e3dee5b92b27d5de1b0cae4bc61b077d3731eebcd
@@ -102,6 +102,7 @@ class LLMed
102
102
  output_release = Release.load(File.read(release_source_code), @code_comment)
103
103
  input_release = Release.load(output, @code_comment)
104
104
  output_content = output_release.merge!(input_release, user_contexts).content
105
+
105
106
  output_release.changes.each do |change|
106
107
  action, ctx = change
107
108
  case action
@@ -15,9 +15,11 @@ There is always a one-to-one correspondence between context and source code.
15
15
  Always include the properly escaped comment: LLMED-COMPILED.
16
16
 
17
17
  You must only modify the following source code:
18
+ ```
18
19
  {source_code}
20
+ ```
19
21
 
20
- Only generate source code of the context who digest belongs to {update_context_digests} or a is a new context.
22
+ Only generate source code of the context who digest belongs to {update_context_digests}.
21
23
 
22
24
  Wrap with comment every code that belongs to the indicated context, example in {language}:
23
25
  {code_comment_begin}<llmed-code context='context name' digest='....' after='digest next context'>{code_comment_end}
data/lib/llmed/release.rb CHANGED
@@ -106,13 +106,30 @@ class LLMed
106
106
  # insertions missed user contexts
107
107
  user_contexts.each do |name, digest|
108
108
  next if contexts.any? { |ctx| ctx.name == name }
109
-
110
- new_ctx = ContextCode.new(name, digest, "\n", '')
109
+ code = release.context_by(name).code
110
+ new_ctx = ContextCode.new(name, digest, code, '')
111
111
  contexts.prepend(new_ctx)
112
112
  @changes << [:added, new_ctx]
113
113
  end
114
114
 
115
- @contexts = contexts
115
+ contexts_sorted = []
116
+ # prioritize user order
117
+ user_contexts.each do |name, _digest|
118
+ contexts.each do |ctx|
119
+ if ctx.name == name
120
+ contexts_sorted << ctx
121
+ break
122
+ end
123
+ end
124
+ end
125
+
126
+ @contexts = contexts_sorted.sort {|a,b|
127
+ if a.digest == b.after
128
+ 1
129
+ else
130
+ 0
131
+ end
132
+ }
116
133
  self
117
134
  end
118
135
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: llmed
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.16
4
+ version: 0.3.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jovany Leandro G.C