clerq 0.3.0 → 0.3.1

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: 65f2b9b019f3810c02e66f1ed3eba1d6b706ad8a63be53c2ff55a88665816941
4
- data.tar.gz: 74a5363279f3487897c342a31f134b9f9051bdfac4f62fbe73b4239ec00f09d9
3
+ metadata.gz: 1b93dbd123950517f23f59aaf416dd20291df8a81bad903f7267ab070fe789fe
4
+ data.tar.gz: f029392d1e4cc1697d8eeb597cee32ed6b28dc50a56586c6d2f9dc0dadef7b67
5
5
  SHA512:
6
- metadata.gz: 1652c52a62a58dc18e58b7aae6f9f622d4e602811020bf91a04f3009cc2cfe055d372fe200ac746b2c2c4691c7a9c6e3b3f91c1a5f0586d08acaaa596e53c7e6
7
- data.tar.gz: e55c6afa867a5d193b033fb53e009026f4200cb10d3d4bedf8d47a266a360bd6cb729298fd05520fc3224a92456b1c822aa6b8bca2c2012125f2c3d96ac66636
6
+ metadata.gz: e14bdc8e40f10e25035546a4c460d997305d667974e03ef3fe221115bb597fa4ca690d6879a252f8bed972bda741079d2d4ac20510ac40bf14c509f1f480d35e
7
+ data.tar.gz: bda6247460cab6cb6c0a65aa6b954647f88542a264f872c7df9dbcc26d0242c8bfb0cce2ad1f37a5da20d2d94b5ed8451d360aca0a8274075b8324ae238d7e0c
@@ -1,5 +1,10 @@
1
1
  # Change log
2
2
 
3
+ ## 0.3.1 (2019-12-13)
4
+
5
+ * Fixed error with reading files that read attributes to body.
6
+ * Added `mm` command to `<project>.thor` that creates "Meeting Minutes" files in `<project>/mm` folder.
7
+
3
8
  ## 0.3.0 (2019-12-04)
4
9
 
5
10
  * Meet services instead of interactors. All interactors removed and their responsibility moved to appropriate services.
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- clerq (0.3.0)
4
+ clerq (0.3.1)
5
5
  thor (~> 0.20.3)
6
6
 
7
7
  GEM
@@ -0,0 +1,27 @@
1
+ % Requirements classification
2
+
3
+ BABOK
4
+
5
+ __Business requirements__: statements of goals, objectives, and outcomes that describe why a change has been initiated. They can apply to the whole of an enterprise, a business area, or a specific initiative.
6
+
7
+ __Stakeholder requirements__: describe the needs of stakeholders that must be met in order to achieve the business requirements. They may serve as a bridge between business and solution requirements
8
+
9
+ __Solution requirements__ : describe the capabilities and qualities of a solution that meets the stakeholder requirements. They provide the appropriate level of detail to allow for the development and implementation of the solution. Solution requirements can be divided into two sub-categories:
10
+
11
+ * __functional requirements__: describe the capabilities that a solution must have in terms of the behaviour and information that the solution will manage, and
12
+ * __non-functional requirements or quality of service requirements__: do not relate directly to the behaviour of functionality of the solution, but rather describe conditions under which a solution must remain effective or qualities that a solution must have.
13
+
14
+ __Transition requirements__: describe the capabilities that the solution must have and the conditions the solution must meet to facilitate transition from the current state to the future state, but which are not needed once the change is complete. They are differentiated from other requirements types because they are of a temporary nature. Transition requirements address topics such as data conversion, training, and business continuity.
15
+
16
+ Stakeholders
17
+
18
+ Each task includes a list of stakeholders who are likely to participate in the execution of that task or who will be affected by it. A stakeholder is an individual or group that a business analyst is likely to interact with directly or indirectly. Any stakeholder can be a source of requirements, assumptions, or
19
+ constraints.
20
+
21
+ SMART
22
+
23
+ * Specific: describing something that has an observable outcome,
24
+ * Measurable: tracking and measuring the outcome,
25
+ * Achievable: testing the feasibility of the effort,
26
+ * Relevant: aligning with the enterprise’s vision, mission, and goals, and
27
+ * Time-bounded: defining a time frame that is consistent with the need
@@ -0,0 +1,13 @@
1
+ % Characteristics of Requirements and Designs Quality
2
+
3
+ While quality is ultimately determined by the needs of the stakeholders who will use the requirements or the designs, acceptable quality requirements exhibit many of the following characteristics:
4
+
5
+ * __Atomic__: self-contained and capable of being understood independently of other requirements or designs.
6
+ * __Complete__: enough to guide further work and at the appropriate level of detail for work to continue. The level of completeness required differs based on perspective or methodology, as well as the point in the life cycle where the requirement is being examined or represented.
7
+ * __Consistent__: aligned with the identified needs of the stakeholders and not conflicting with other requirements.
8
+ * __Concise__: contains no extraneous and unnecessary content.
9
+ * __Feasible__: reasonable and possible within the agreed-upon risk, schedule, and budget, or considered feasible enough to investigate further through experiments or prototypes.
10
+ * __Unambiguous__: the requirement must be clearly stated in such a way to make it clear whether a solution does or does not meet the associated need.
11
+ * __Testable__: able to verify that the requirement or design has been fulfilled. Acceptable levels of verifying fulfillment depend on the level of abstraction of the requirement or design.
12
+ * __Prioritized__: ranked, grouped, or negotiated in terms of importance and value against all other requirements.
13
+ * __Understandable__: represented using common terminology of the audience.
@@ -6,8 +6,37 @@ class <%=config[:klass]%> < Thor
6
6
 
7
7
  desc "stat", "Print statistic"
8
8
  def stat
9
- nodes = Clerq::Interactors::JoinNodes.()
9
+ nodes = Clerq.assemble
10
10
  say "#{nodes.to_a.drop(1).size} nodes total"
11
11
  end
12
12
 
13
+ desc "mm", "Create meeting minutes"
14
+ def mm
15
+ minutes = "meeting minutes #{Time.new.strftime('%Y-%m-%d')}.md"
16
+ content = "% #{minutes.capitalize}\n\n" + MINUTES_TEMPLATE
17
+ Dir.mkdir('mm') unless Dir.exist?('mm')
18
+ File.write("mm/#{minutes}", content)
19
+ say "'mm/#{minutes}' created!"
20
+ end
21
+
22
+ MINUTES_TEMPLATE = <<~EOF
23
+ # Attendants
24
+
25
+ 1.
26
+ 2.
27
+ 3.
28
+
29
+ # Questions
30
+
31
+ 1.
32
+ 2.
33
+ 3.
34
+
35
+ # Resolutions
36
+
37
+ 1.
38
+ 2.
39
+ 3.
40
+ EOF
41
+
13
42
  end
@@ -11,7 +11,9 @@ module Clerq
11
11
  class ReadNode < Service
12
12
 
13
13
  def call
14
- text = File.foreach(@filename)
14
+ # FIXME: something wrong here when foreach!
15
+ #
16
+ text = File.read(@filename)
15
17
  read_nodes(text) do |node_text|
16
18
  level, node = parse_node(node_text)
17
19
  next unless node
@@ -38,6 +40,7 @@ module Clerq
38
40
  # @return [Array<String>] where each item represents one node
39
41
  def read_nodes(text, &block)
40
42
  quote, node = false, []
43
+ text = text.split(?\n) unless text.is_a? Enumerator
41
44
  text.each do |line|
42
45
  if line.start_with?('#') && !quote && !node.empty?
43
46
  block.call(node.join("\n"))
@@ -1,3 +1,3 @@
1
1
  module Clerq
2
- VERSION = "0.3.0"
2
+ VERSION = "0.3.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: clerq
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nikolay Voynov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-12-04 00:00:00.000000000 Z
11
+ date: 2019-12-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -97,7 +97,9 @@ files:
97
97
  - lib/assets/knb/problem-statement.md
98
98
  - lib/assets/knb/product-statement.md
99
99
  - lib/assets/knb/requirement-attributes.md
100
+ - lib/assets/knb/requirement-classification.md
100
101
  - lib/assets/knb/requirement-life-cycle.md
102
+ - lib/assets/knb/requirement-quality.md
101
103
  - lib/assets/knb/use-case.md
102
104
  - lib/assets/knb/vision-document.md
103
105
  - lib/assets/lib/clerq_doc.thor