Skip to content

Instantly share code, notes, and snippets.

@gabor-farkas
gabor-farkas / Jenkinsfile
Created February 5, 2019 08:54
Setting Github commit status in a declarative Jenkins pipeline with curl in sh
void setBuildStatus(String message, String context, String state) {
// add a Github access token as a global 'secret text' credential on Jenkins with the id 'github-commit-status-token'
withCredentials([string(credentialsId: 'github-commit-status-token', variable: 'TOKEN')]) {
// 'set -x' for debugging. Don't worry the access token won't be actually logged
// Also, the sh command actually executed is not properly logged, it will be further escaped when written to the log
sh """
set -x
curl \"https://api.github.com/repos/org/repo/statuses/$GIT_COMMIT?access_token=$TOKEN\" \
-H \"Content-Type: application/json\" \
-X POST \
@gabor-farkas
gabor-farkas / template2.html
Created December 20, 2015 23:23
blog/reusablecomponents/template2.html
<input type="text" class="form-control" ng-model="name" ng-required="{{nameRequired}}">
[...]
<input type="text" class="form-control" ng-model="email" ng-required="{{emailRequired}}">
@gabor-farkas
gabor-farkas / directive1.js
Created December 20, 2015 23:07
blog/reusablecomponent/directive1
var NameEmailDirective = function() {
var directive = {};
directive.restrict = 'E';
directive.template = nameEmailTemplate;
directive.scope= { 'name': '=', 'email': '='}
return directive;
}
@gabor-farkas
gabor-farkas / template1.html
Created December 20, 2015 23:06
blog/reusablecomponent/template1
<div class="form-group">
<label>Name</label>
<input type="text" class="form-control" ng-model="name">
</div>
<div class="form-group">
<label>Email</label>
<input type="text" class="form-control" ng-model="email">
</div>
@gabor-farkas
gabor-farkas / autocomplet-example.html
Created December 9, 2015 16:55
blog/ngmodel/mdAutocomplete
<md-autocomplete
md-selected-item="selectedItem"
md-search-text="searchText"
md-items="item in ctrl.items"
md-min-length="0">
<md-item-template>
{{item}}
</md-item-template>
</md-autocomplete>
<bind-expression name="selectedItem" ng-required="true" expression="selectedItem" ng-model="ctrl.selectedItem" />
@gabor-farkas
gabor-farkas / bind-expression.js
Created December 9, 2015 16:54
blog/ngmodel/bindExpression
.directive("bindExpression", function($parse) {
var directive = {};
directive.restrict = 'E';
directive.require = 'ngModel';
directive.link = function(scope, element, attrs, ngModel) {
scope.$watch(attrs.expression, function (newValue) {
ngModel.$setViewValue(newValue);
});
ngModel.$render = function() {
$parse(attrs.expression).assign(ngModel.viewValue);
@gabor-farkas
gabor-farkas / two-way.html
Created December 7, 2015 13:44
blog/ngmodel/aurelia.two-way
<input type=”text” value.two-way=”text”>
@gabor-farkas
gabor-farkas / ngmodel.html
Created December 7, 2015 13:43
blog/ngmodel/ngmodel
<input type=”text” ng-model=”ctrl.text”>
new AddressPanel()
.withHeader(translate('PrimaryAddress'))
.bind(() => { ctrl.person.address });
view: function(ctrl) {
return m("div", [
ctrl.pages().map(function(page) {
return m("a", {href: page.url}, page.title);
}),
m("button", {onclick: ctrl.rotate}, "Rotate links")
]);
}