Skip to content

Commit

Permalink
Merge pull request #210 from macta/fix-context-menu-experiment
Browse files Browse the repository at this point in the history
Remove the experimental ability to fetch a new exercise from the  classes pan…
  • Loading branch information
macta committed Mar 18, 2019
2 parents 3764869 + 5da7868 commit e502aa6
Show file tree
Hide file tree
Showing 8 changed files with 21 additions and 27 deletions.
20 changes: 1 addition & 19 deletions dev/src/ExercismTools/ClyExercismFetchCommand.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -7,27 +7,9 @@ Class {
#category : #'ExercismTools-Menus'
}

{ #category : #activation }
ClyExercismFetchCommand class >> classListMenuActivation [
<classAnnotation>

^CmdContextMenuActivation byRootGroupItemOrder: 3 for: ClyClassContextOfFullBrowser
]

{ #category : #activation }
ClyExercismFetchCommand class >> contextMenuOrder [
^10
]

{ #category : #activation }
ClyExercismFetchCommand class >> isExercismTagIn: aToolContext [

(aToolContext isKindOf: ClyClassContextOfFullBrowser) ifFalse: [ ^super isExercismTagIn: aToolContext ].

aToolContext selectedItems isEmpty and: [ aToolContext selectedPackageItems do: [:any |
^ any browserItem name = ExercismManager exercismPackageName ]].

^false
^5
]

{ #category : #activation }
Expand Down
2 changes: 1 addition & 1 deletion dev/src/ExercismTools/ClyExercismSubmitCommand.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Class {

{ #category : #activation }
ClyExercismSubmitCommand class >> contextMenuOrder [
^1
^10
]

{ #category : #accessing }
Expand Down
4 changes: 4 additions & 0 deletions docs/ABOUT.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,13 @@ Welcome to [Pharo](http://www.pharo.org), an environment and language that embra
It features a world that is:

- **Simple and Powerful:** No constructors, type declarations, interfaces and primitive types. Yet it's a powerful and elegant language with a full syntax that fits on a [postcard](https://en.wikipedia.org/wiki/File:Pharo_syntax_postcard.svg)! The magic is objects and messages all the way down.

- **Live and Immersive:** Immediate feedback at any moment of your development: Developing, testing, exploring, debugging. Even in live environments, you don't have to wait to compile and deploy!

- **Amazing for Debugging:** The [debugger](https://medium.com/@richardeng/how-to-use-the-pharo-debugger-eb554a2950b6) is unlike anything you've seen before. While it lets you step through code, you can also restart execution at any point, create methods and classes on the fly, extend its abilities, and much more!

- **Rich in History but Forward Looking:** Many concepts originated from Smalltalk: [MVC](http://heim.ifi.uio.no/~trygver/themes/mvc/mvc-index.html), [JIT](https://www.wikiwand.com/en/Just-in-time_compilation) compilation, Live coding, [TDD](https://en.wikipedia.org/wiki/SUnit), [Refactoring](http://www.academia.edu/10644191/A_Refactoring_Tool_for_Smalltalk) and many more. However we are still looking ahead with [moldable tools](https://gtoolkit.com/), [GtSpotter](http://www.humane-assessment.com/blog/introducing-gtspotter), [Agile Visualisation](http://agilevisualization.com/), and [MetaLinks](https://www.slideshare.net/MarcusDenker/lecture-metalinks) to name a few...

- **Active, Friendly, Helpful Community:** Pharo is yours, made by an incredible [community](http://pharo.org/community), with more than 100 contributors on the last revision and many more constantly [contributing](http://pharo.org/contribute) with frameworks, libraries and advice.

Still not convinced? Smalltalk has a rich and fascinating [history](http://worrydream.com/EarlyHistoryOfSmalltalk/), that has influenced most of today's languages and techniques in one form or another. [Learning the source](https://twitter.com/dhh/status/950145591379742727) of these ideas is the road to being a good programmer in any language. But most of all, its just incredibly fun! Why not join in?
4 changes: 2 additions & 2 deletions docs/INSTALLATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ and then initally launch Pharo and the exercism tools by typing:
./pharo-ui Pharo.image eval "
Metacello new
baseline: 'Exercism';
repository: 'github://exercism/pharo-smalltalk:v0.2.2';
repository: 'github://exercism/pharo-smalltalk:v0.2.3';
load.
#ExercismManager asClass welcome.
"
Expand Down Expand Up @@ -66,7 +66,7 @@ Finally, copy and paste the following snippet into the playground:
```smalltalk
Metacello new
baseline: 'Exercism';
repository: 'github://exercism/pharo-smalltalk:v0.2.2';
repository: 'github://exercism/pharo-smalltalk:v0.2.3';
load.
#ExercismManager asClass welcome.
Expand Down
2 changes: 1 addition & 1 deletion exercises/grade-school/.meta/hints.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
It isn't strictly necessary to model students as a seperate object, you can use a convenient internal data strcture as long as it doesn't leak out into the results.Note: this exercise has been slightly modified from problem-specification, as it makes more sense to seperate adding students and querying them in seperate methods (vs. having one method doing both, which feels less Pharo/Smalltalk like).
It isn't strictly necessary to model students as a seperate object, you can use a convenient internal data strcture as the requirements are quite simple (and as long as it doesn't leak out into the results).Note: this exercise has been slightly modified from the problem-specification, as it makes more sense to seperate adding students and querying them in seperate methods (vs. having one method doing both, which feels less Pharo/Smalltalk like).
Expand Down
2 changes: 1 addition & 1 deletion exercises/grade-school/.meta/solution/GradeSchool.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ GradeSchool >> addStudents: aCollection [

{ #category : #exercism }
GradeSchool >> desiredGrade: gradeInteger [
"Anser the Collection of students filtered by grade, alphabetically"
"Answer the Collection of students filtered by grade, alphabetically"

^ self
formatResult:
Expand Down
12 changes: 10 additions & 2 deletions exercises/grade-school/GradeSchoolTest.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,9 @@ experiment make the code better? Worse? Did you learn anything from it?
## Hint
It isn't strictly necessary to model students as a seperate object, you can use a convenient internal data strcture as long as it doesn't leak out into the results.
It isn't strictly necessary to model students as a seperate object, you can use a convenient internal data strcture as the requirements are quite simple (and as long as it doesn't leak out into the results).
Note: this exercise has been slightly modified from problem-specification, as it makes more sense to seperate adding students and querying them in seperate methods (vs. having one method doing both, which feels less Pharo/Smalltalk like).
Note: this exercise has been slightly modified from the problem-specification, as it makes more sense to seperate adding students and querying them in seperate methods (vs. having one method doing both, which feels less Pharo/Smalltalk like).
"
Class {
Expand All @@ -64,6 +64,14 @@ GradeSchoolTest class >> exercise [

]

{ #category : #generator }
GradeSchoolTest class >> generator [
"Potential generator hints"

^ {('rosterStudents:' -> #('addStudents:' 'roster')).
('gradeStudents:desiredGrade:' -> #('addStudents:' 'desiredGrade:'))}
]

{ #category : #config }
GradeSchoolTest class >> uuid [
"Answer a unique id for this exercise"
Expand Down
2 changes: 1 addition & 1 deletion exercises/grade-school/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ experiment make the code better? Worse? Did you learn anything from it?

## Hint

It isn't strictly necessary to model students as a seperate object, you can use a convenient internal data strcture as long as it doesn't leak out into the results.Note: this exercise has been slightly modified from problem-specification, as it makes more sense to seperate adding students and querying them in seperate methods (vs. having one method doing both, which feels less Pharo/Smalltalk like).
It isn't strictly necessary to model students as a seperate object, you can use a convenient internal data strcture as the requirements are quite simple (and as long as it doesn't leak out into the results).Note: this exercise has been slightly modified from the problem-specification, as it makes more sense to seperate adding students and querying them in seperate methods (vs. having one method doing both, which feels less Pharo/Smalltalk like).


## Downloading
Expand Down

0 comments on commit e502aa6

Please sign in to comment.